我有这个:
String [][] population = new String[indexOfChromosomes][indexOfGens];
for(int chromosomesNumber = 0; chromosomesNumber <= indexOfChromosomes ; chromosomesNumber++){
for(int gensNumber = 0; gensNumber <= indexOfGens ; gensNumber++){
Cursor r = db.rawQuery("SELECT _id, key_foodstuff, key_calorie, key_carbohydrate, key_fat,
key_protein FROM (food INNER JOIN categories ON food.key_nocategory =
categories.nocategories) WHERE key_type='primary'
AND _id!=164 ORDER BY RANDOM() LIMIT 1", null);
if(r.moveToFirst()){
population[indexOfChromosomes][indexOfGens] = r.getString(0);
}
}
}
当我运行此代码时出现错误: 人口[indexOfChromosomes][indexOfGens] = r.getString(0);
我想问,如何将光标 r 放在二维数组上?谢谢
最佳答案
看起来错误在这里:
String [][] population = new String[indexOfChromosomes][indexOfGens];
for(int chromosomesNumber = 0; chromosomesNumber <= indexOfChromosomes ; chromosomesNumber++){
for(int gensNumber = 0; gensNumber <= indexOfGens ; gensNumber++){
数组的大小为 indexOfChromosomes
x indexOfGens
,因此它的索引为 0..indexOfChromosomes-1
和 0.. indexOfGens-1
,当您尝试访问索引 indexOfChromosomes
和 indexOfGens
时。
应该是
for(int chromosomesNumber = 0; chromosomesNumber < indexOfChromosomes ; chromosomesNumber++){
for(int gensNumber = 0; gensNumber < indexOfGens ; gensNumber++){
关于java - 如何将光标(android)放入二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8033178/