我只是刷牙我的Java技能,因为它已经有一段时间,因为我已经编码。我已经看了很多我的问题的帖子,发现我似乎正在比较一切正确的,据我所知。我将两个2d数组元素相互比较,如果匹配,则替换元素处的字符,但是在尝试比较它们时,似乎只是出界了。没有看到超出界限的错误(第48行)。2d整数数组的元素没有得到比较。没有试图比较整个阵列
char[][] board = new char[3][3];
char[][] player1 = new char[1][1];
char[][] player2 = new char[1][1];
int playerRow = 0;
int playerCol = 0;
Scanner kbd = new Scanner(System.in);
System.out.println("Lets play a simple game of tic-tac-toe");
System.out.println("Player 1 (X's) : Please enter a row number and column number ");
System.out.println(" in order to plot the cordinates of your desired move");
playerRow = kbd.next().charAt(0);
playerCol = kbd.next().charAt(0);
for(int row = 0; row < board.length; row++)
{
for(int col = 0; col < board[row].length;col++)
{
if (board[row][col] == player1[playerRow][playerCol])
{
board[row][col] = 'X';
System.out.print(board[row][col]+" ");
}
else
{
board[row][col]= '-';
System.out.print(board[row][col]+" ");
}
}
System.out.println();
}
你正在比较'char'到'int'。这是一个有效的比较,但可能不会做你想做的。例如,“1”(char)与“1”(int)不同。 – resueman
哎呦。哦,我看了45分钟。 –
我改变了,但是它不断给我一个数组索引超出界限的错误,我做了播放器数组char阵列。这个可以吗? @resueman –