我在一个类中有一个简单的函数来检查两个字符串是否相等(这是一个刽子手游戏)。代码很简单,有两个类变量:
private String hiddenWord;
private String dashWord;
public void compareGuessWord(String clientGuess) {
if (clientGuess.length() > 1) {
System.out.println("Kollar om dashord: " + dashWord);
System.out.println("Kollar om hidden: " + this.hiddenWord);
System.out.println("Kollar om guess:" + clientGuess);
if (clientGuess.equalsIgnoreCase(this.hiddenWord));
{
this.dashWord = clientGuess;
}
System.out.println("SECOND Kollar om guess:" + clientGuess);
System.out.println("SECOND Kollar om dashord: " + dashWord);
System.out.println("SECOND Kollar om hidden: " + hiddenWord);
}
}
这是控制台输出,你可以看到它正在运行内部,即使它们不匹配。 problem
答案 0 :(得分:10)
$ git diff -- *.ts | *js | *.map
您的if (clientGuess.equalsIgnoreCase(this.hiddenWord));
除了检查外什么都不做。删除后面的if
。
答案 1 :(得分:3)
在你的if条件中有&#39 ;;'所以,如果不工作
if (clientGuess.equalsIgnoreCase(this.hiddenWord))**;**
{
this.dashWord = clientGuess;
}
编译器将其视为普通语句,因此请删除分号";"并检查
答案 2 :(得分:2)
你的If语句因为你在分号末添加分号而被终止
if (clientGuess.equalsIgnoreCase(this.hiddenWord));
删除分号,它会正常工作