我有一個模擬遊戲的井字遊戲的問題。我使用一個二維數組來表示遊戲板,並按如下所示進行了實例化。它需要我使用一個char類型的數組。我意識到我不應該指定每個索引都是null,因爲這是char的默認值,但我想我會試一試。字符數組索引不接受
public TicTacToe2D()
{
board = new char[3][3];
for(int i = 0; i < board.length; i++)
{
for(int j = 0; j < board[i].length; j++)
{
board[j] = null;
}
board[i] = null;
}
}
在這裏,雖然我一直在使用「」我的陣列初始值未遂我檢查優勝條件,看是否索引彼此相等,而不是null(默認值)。在這種情況下,我得到了錯誤:「不兼容的類型:字符不能轉換成char []」
public char isWin()
{
//Check for row wins
if (board[0][0] == board[0][1] && board[0][1] == board[0][2] && board[0][0] != null)
return true;
if (board[1][0]==board[1][1] && board[1][1]==board[1][2] && board[1][0] != null)
return true;
if (board[2][0]==board[2][1] && board[2][1]==board[2][2] && board[2][0] != null)
return true;
//Check for column wins
if (board[0][0]==board[1][0] && board[1][0]==board[2][0] && board[0][0] != null)
return true;
if (board[0][1]==board[1][1] && board[1][1]==board[2][1] && board[0][1] != null)
return true;
if (board[0][2]==board[1][2] && board[1][2]==board[2][2] && board[0][2] != null)
return true;
//Check for diagonal wins
if (board[0][0]==board[1][1] && board[1][1]==board[2][2] && board[0][0] != null)
return true;
if (board[2][0] == board[1][1] && board[1][1] == board[0][2] && board[2][0] != 0)
return true;
else return false;
}
當檢查,如果索引爲null,我得到的錯誤「無法比擬的類型:char和」 任何幫助將非常感謝!
Char是原始類型,所以它不能爲null,默認情況下它是''\ u0000'',它是0. –
此外你在這裏做的是'board [j] = null;'是你設置每個「行「你的數組爲null! –