所以我试图迭代一个4乘3的对象数组并根据用户输入设置每个对象的值,但是我遇到了一个问题,即通过数组的迭代停止在6而不是总共12个。我尝试了一些编写迭代器的方法,但它们总是失败。这是代码。
Card[][] field = new Card[3][2];
void setvals(){
Scanner scanner = new Scanner(System.in);
for(int row= 0; row < field.length; row++){
for(int col = 0; col < field[row].length; col++) {
String input = scanner.nextLine();
field[row][col] = new Card();
field[row][col].makeCard(input);
}
}
}
我也试过&lt; =而不是&lt;但后来它给了我数组索引超出范围。我不知道问题是什么。
答案 0 :(得分:1)
你说:
所以我试图迭代一个4乘3的对象数组......
这是你的阵列:Card[][] field = new Card[3][2];
。
这不是4x3阵列。它是一个3x2数组,这意味着你的循环中应该有6次迭代,这就是正在发生的事情。这里没有错误。
答案 1 :(得分:1)
你的问题在于数组:
Card[][] field = new Card[3][2];
您希望数组为4 x 3
,然后将尺寸设置为:
Card[][] field = new Card[4][3];
您的代码无法正常工作的原因,因为您目前有一个2 x 3
数组,评估为6次迭代。 4 x 3
数组将根据需要评估为12次迭代。