java - 如何将光标(android)放入二维数组?

标签 java android arrays cursor

我有这个:

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-10.. indexOfGens-1,当您尝试访问索引 indexOfChromosomesindexOfGens 时。

应该是

for(int chromosomesNumber = 0; chromosomesNumber < indexOfChromosomes ; chromosomesNumber++){
    for(int gensNumber = 0; gensNumber < indexOfGens ; gensNumber++){

关于java - 如何将光标(android)放入二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8033178/

相关文章:

arrays - 如何在 ruby​​ 中对文件名进行排序?

C++ 静态数组初始化 : does inline initialization reserve space?

java - 使用 Spring 在 Hibernate 中配置内置的 c3p0 池

java - Activity 之间的Android数据检索

android - 窗口标题文字大小

android - Activity 恢复后对新副本的 Viewpager fragment 引用

PHP过滤1个url的数组

java - 无法实例化 Map<String, ?扩展对象> map = new TreeMap<String, ?扩展对象>();

java - 使用 Gson 将 Json 解析为具有通用字段的项目列表

java - 场景加载太慢