gpt4 book ai didi

java - 为什么当我插入任何与 ""不同的字符串时它返回 true

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:47 25 4
gpt4 key购买 nike

这是我的第一个问题,对于任何错误,我深表歉意。我正在编写一个井字游戏。我对此有疑问。

if (!table[0][0].equals(" ") && !table[1][0].equals(" ") && !table[2][0].equals(" ") &&
!table[0][1].equals(" ") && !table[1][1].equals(" ") && !table[2][1].equals(" ") &&
!table[0][2].equals(" ") && !table[1][2].equals(" ") && !table[2][2].equals(" ")) {
System.out.println("Draw!");
return true;
}

例如:如果我在 table[0][0] 中插入任何 String,它会返回 true,尽管其他字段为 ""

最佳答案

我已经在 Board 类中初始化了表。这是构造函数:

public Board() {
sc = new Scanner(System.in);
board = new Mark[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
board[i][j] = new Mark(" ");
}
}
}

这是我的 checkResult 方法:

        public boolean checkResult() {
if ((table[0][0] == table[1][0] && table[1][0] == table[2][0] && !table[2][0].equals(" "))
|| (table[0][1] == table[1][1] && table[1][1] == table[2][1] && !table[2][1].equals(" "))
|| (table[0][2] == table[1][2] && table[1][2] == table[2][2] && !table[2][2].equals(" "))
|| (table[0][0] == table[0][1] && table[0][1] == table[0][2] && !table[0][2].equals(" "))
|| (table[1][0] == table[1][1] && table[1][1] == table[1][2] && !table[1][2].equals(" "))
|| (table[2][0] == table[2][1] && table[2][1] == table[2][2] && !table[2][2].equals(" "))
|| (table[0][0] == table[1][1] && table[1][1] == table[2][2] && !table[2][2].equals(" "))
|| (table[0][2] == table[1][1] && table[1][1] == table[2][0] && !table[2][0].equals(" "))) {
System.out.println("You won");

return true;
}
if (!table[0][0].equals(" ") && !table[1][0].equals(" ") && !table[2][0].equals(" ") && !table[0][1].equals(" ")
&& !table[1][1].equals(" ") && !table[2][1].equals(" ") && !table[0][2].equals(" ")
&& !table[1][2].equals(" ") && !table[2][2].equals(" ")) {
System.out.println("Draw!");
return true;
}

return false;
}

这是我的测试类(class):

public class Test {

public static void main(String[] args) {
Logika lg = new Logika();

do{
lg.insertMark2();
lg.printBoard();

} while(!(lg.checkResult()));

}

}

当我第一次插入时,程序停止。

关于java - 为什么当我插入任何与 ""不同的字符串时它返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43305952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com