1
嘿即时完成这个tic tac脚趾项目,我在我的棋盘类中有一个错误,在我的checkWin方法中,赢家= board [0] [i];作为Int和String的不兼容错误出现。我已经通过使用Integer.toString()命令解决了这个问题,但它不适用于此。有任何想法吗?以下是checkWin方法的代码。类型Int和字符串不兼容
public boolean checkWin()
{
{
int i; // i = column
int j; // j = row
int count;
int winner;
winner = empty; // nobody has won yet
// Check all rows to see if same player has occupied every square.
for (j = 0; j < boardSize; j ++)
{
count = 0;
if (board[j][0] != Integer.toString(empty))
for (i = 0; i < boardSize; i ++)
if (board[j][0] == board[j][i])
count ++;
if (count == boardSize)
winner = (board[j][0]);
}
// Check all columns to see if same player has occupied every square.
for (i = 0; i < boardSize; i ++)
{
count = 0;
if (board[0][i] != Integer.toString(empty))
for (j = 0; j < boardSize; j ++)
if (board[0][i] == board[j][i])
count ++;
if (count == boardSize)
winner = board[0][i];
}
// Check diagonal from top-left to bottom-right.
count = 0;
if (board[0][0] != Integer.toString(empty))
for (j = 0; j < boardSize; j ++)
if (board[0][0] == board[j][j])
count ++;
if (count == boardSize)
winner = board[0][0];
// Check diagonal from top-right to bottom-left.
count = 0;
if (board[0][boardSize-1] != Integer.toString(empty))
for (j = 0; j < boardSize; j ++)
if (board[0][boardSize-1] == board[j][boardSize-j-1])
count ++;
if (count == boardSize)
winner = board[0][boardSize-1];
// Did we find a winner?
if (winner != empty)
{
if (winner == Xstr)
System.out.println("\nCongratulations! P1 You win!");
else if (winner == Ostr)
System.out.println("\nCongratulations! P2 You win!");
else
return true;
}
}
你的董事会是什么[] []类型? – PermGenError
在班上讲清楚,板子是私人String [] []板子; – user1801642
使用['Integer.valueOf(String)'](http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html#valueOf(java.lang.String))将您的字符串值转换为整数。 – toniedzwiedz