如何制作棋盘?

时间:2013-04-22 20:54:49

标签: java arrays for-loop int

如何制作棋盘?

0表示白色,1表示黑色

我首先将它们全部设为0,然后尝试添加1,但它给了我

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
    at unit1.Lesson35CheckerboardTask.main(Lesson35CheckerboardTask.java:33)

                public static void main(String[] args){ 

    int a[][] = new int [8][8];



    for (int test = 0; test < a.length; test++)
    {
        int row = 0;
        int col = 0;
    for (int col1 =0; col1 < 8;col1++)
    {
        a[row][col] = 1;
        col = col + 2;



    }
    row = row + 1;
    col = (col - 6);

    }

                //(this prints it out)      

    for (int row = 0; row < a.length; row++)
    {
        for(int col = 0; col <a[row].length; col++)
        {
            System.out.print(a[row][col] + "\t");
        }
        System.out.println("");
    }




    }


}

1 个答案:

答案 0 :(得分:1)

异常是因为你在内循环中,尝试执行

    col = col + 2;

8次,导致您无法访问阵列。

为避免这种情况,您可以使用模运算符%来大大简化循环:

int[][] a = new int[8][8];
for (int row = 0; row < a.length; row++) {
    for (int col = 0; col < 8; col++) {
        a[row][col] = (row + col) % 2;
    }
}

这将在整个董事会01之间很好地交替。