我有一个模拟游戏的井字游戏的问题。我使用一个二维数组来表示游戏板,并按如下所示进行了实例化。它需要我使用一个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! –