如何修复:java:不是语句,以及其他错误

时间:2019-05-08 21:02:58

标签: java arrays

我是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]);
        }
    }
}

1 个答案:

答案 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个嵌套循环)来访问每个元素。