我试图填写boolean[][]
,但我一直在努力:
数组越界错误
这个循环有问题吗?
public static final int NUM_COL = 3;
public static final int NUM_ROW = 5;
public boolean[][] fillEmptyCompletedTopics(boolean[][] completedTopics){
for(int i = 0; i < NUM_ROW; i++){
for(int n = 0; n < NUM_COL; n++){
completedTopics[i][n] = false;
}
}
return completedTopics;
}
编辑:这里是初始化的数组:
boolean[][] completedTopics = new boolean[NUM_ROW][NUM_COL];
edit2:我发现调用这个数组的另一个错误,我想循环没问题。谢谢。
答案 0 :(得分:2)
通常我建议使用数组的长度字段来限制迭代次数
for(int i = 0; i < c.length; i++) {
for(int j = 0; j < c[i].length; j++) {
//Do stuff
}
}
答案 1 :(得分:0)
您需要确保boolean[][]
中有足够的空间。
显然情况并非如此。
如果您知道它将具有的尺寸,请使用类似的东西:
public static final int NUM_COL = 3;
public static final int NUM_ROW = 5;
public boolean[][] fillEmptyCompletedTopics(){
boolean[NUM_COL][NUM_ROW] completedTopics;
for(int i = 0; i < NUM_ROW; i++){
for(int n = 0; n < NUM_COL; n++){
completedTopics[i][n] = false;
}
}
return completedTopics;
}