我的目标是在井字游戏项目中尝试打印电路板时遇到问题……有时效果很好,但并非每次都如此。 编译器给出异常“ 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();
}
答案 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个索引后。