井字游戏PrintData

时间:2018-10-26 09:07:45

标签: java

我的目标是在井字游戏项目中尝试打印电路板时遇到问题……有时效果很好,但并非每次都如此。 编译器给出异常“ java.lang.ArrayIndexOutOfBoundsException”

这是PrintData()函数。我应该怎么做? !非常感谢!

   public static void PrintData(){      
    for(int i = 0; i<3; i++) {
        System.out.println();
        for (int j =0; j<3; j++ )               
            System.out.print(board[i][j] + "|");
        System.out.println();
    }    
    System.out.println();
}

1 个答案:

答案 0 :(得分:0)

我很确定问题会在代码的这一部分出现

row = rand.nextInt(3) + 1;
col = rand.nextInt(3) + 1;

尝试将其更改为

row = rand.nextInt(2);
col = rand.nextInt(2);

这将始终生成绑定的数字。

Java索引从零开始,如果您希望它一直保持索引直到数字3更改

public static char board[][] = new char[3][3];

public static char board[][] = new char[4][4];

并且由于您要用户输入1-3更改

row = rand.nextInt(2);
col = rand.nextInt(2);

row = rand.nextInt(2) + 1;
col = rand.nextInt(2) + 1;

使数组保留4个索引后。