私はコード化してからしばらく経っているので、私は自分のJavaスキルを磨いています。私は私の質問の多くの記事を見て、私が知る限り、すべてを正確に比較しているようだ。私は2つの2次元配列の要素を互いに比較していますが、それが一致すれば要素の文字を置き換えますが、それを比較しようとすると境界から外れてしまうようです。範囲外のエラーは表示されません(48行目)。2次元配列配列の要素は比較されません。配列全体を比較しようとしていません
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 –