IndexOutOfBounds在循环遍历2D数组时

时间:2013-12-29 14:15:25

标签: java arrays for-loop

如果之前发布了这个,我很抱歉,但是找不到与我的问题有关的任何内容。

我这里有一小部分代码,我有一个带有一些信息的2D数组,然后如图所示循环遍历房间和列。这是有效的,所有内容都打印出来,但我在循环结束时收到此错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at Main.main(Main.java:14)

这是我的代码:

    public class Main {
    public static void main(String[] args){
        int data[][] = {{1, 1, 1, 1, 1, 0, 0},
                        {0, 0, 0, 0, 0, 0, 0},
                        {1, 1, 1, 1, 1, 0, 0},
                        {1, 1, 1, 1, 1, 0, 0},
                        {1, 1, 1, 1, 1, 0, 0},
                        {1, 1, 1, 1, 1, 0, 0}};

        int x;
        int y;
        for(int i = 0; i < data.length; i++){
            for(int j = 0; j < data[j].length; j++){
                x = j * 16;
                y = i * 16;
                System.out.println(x + " " + y + " " + data[i][j]);
            }
        }
    }
}

这里有什么问题?

2 个答案:

答案 0 :(得分:3)

应为for(int j = 0; j < data[i].length; j++)

答案 1 :(得分:0)

参考文献::

int [] [] data = {{1,2},{3,4,5}};
  System.out.println(data.length +“,”+ data [0] .length +    “,”+ data [1] .length);


输出= 2,2,3