import java.util.Arrays;
/**
*
*/
/**
* @author abogal6274
*
*/
public class TicTacToe {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TTTBoard();
}
public static void TTTBoard(){
String[][] tttBoard = new String[3][3];
for(int i=0; i<=3;i++){
tttBoard[i][3] = "[ ]";
}
System.out.println(Arrays.deepToString(tttBoard));
}
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at TicTacToe.TTTBoard(TicTacToe.java:25)
at TicTacToe.main(TicTacToe.java:18)
问题是它说这是一个错误。为什么?我试着做i<=3
, i<4
和所有的东西,但我仍然收到错误。我真的需要这方面的帮助来完成我的 tic tac toe 应用程序。
编辑:已经解决了,但是:
它打印出这个:[[null, null, [ ]], [null, null, [ ]], [null, null, [ ]]]
它应该打印,但它可以像井字游戏板一样垂直吗?
最佳答案
tttBoard[i-1][3]
无论 i
都超出范围,由于 3。
如果您希望初始化整个二维数组,请使用嵌套循环:
String[][] tttBoard = new String[3][3];
for(int i=0; i<tttBoard.length;i++)
for(int j=0; j<tttBoard[i].length;j++)
tttBoard[i][j] = "[ ]";
要以 3 行打印电路板,请勿使用 System.out.println(Arrays.deepToString(tttBoard));
.
您可以使用:
for(int i=0; i<tttBoard.length;i++) {
for(int j=0; j<tttBoard[i].length;j++)
System.out.print(tttBoard[i][j] + ' ');
System.out.println();
}
关于java - Java中的另一个索引越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33871464/