我是Java的新手,我需要创建一个布尔值的二维数组,可以更改其维数,然后显示布尔值表,但出现了一些错误。
我尝试使用推荐的修复程序,但这些修复程序会导致更多错误
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner joos = new Scanner(System.in);
System.out.println("Please enter the desired height of the grid.");
int y = joos.nextInt();
System.out.println("Please enter the desired width of the grid.");
int x = joos.nextInt();
boolean [] [] height = new boolean[y][x];
//System.out.println(y);
//System.out.println(x);
int i = 0;
int j = y*x;
for (i<=j:i++;) {
System.out.println(height[i]);
}
}
}
答案 0 :(得分:2)
这里发生了几件事情:
首先,语句for(i<=j; i++;)
不是创建for
循环的有效方法。其次,如果是i<j
,但如果是j=x*y
,那么当ArrayIndexOutOfBoundsException
时调用height[i]
时,您将得到一个i>=y
。
如果您想对2d数组中的每个位置进行操作,则可以使用以下嵌套循环:
for (int i = 0; i < y; i++){
for (int j = 0; j < x; j++) {
// do something now with the boolean at height[i][j]
boolean value = height[i][j];
System.out.println(value);
}
}
这里的总体思想是2d数组需要一个“ 2d”循环(换句话说就是2个嵌套循环)来访问每个元素。