好的,我正在玩游戏的最后部分,然后我会邀请你们一起玩。它并不完美,但它是我Java进步中的一个巨大里程碑。 因此,在我的代码中,我打电话给我的拼图课,以验证解谜课程中提供的私人变量解决方案的用户equalsIgnoreCase
提供的解决方案。如果它们匹配,则返回true,否则返回false。在测试仪上,如果我得到返回的真值,它应该打印我是正确的,如果它返回false我错了。 问题是我输入的是正确的,但它告诉我我错了。为什么?如何传递布尔值并在if语句中验证boolean?
谜:
public boolean solvePuzzle(String answer)
{
if(this.solution.equalsIgnoreCase(answer))
{
return true;
}
else
{
return false;
}
}
}
puzzletester:
if(choice==2)
{
System.out.println("Please solve the puzzle");
input.nextLine();
String answer=input.next();
answer=answer.toUpperCase();
game.solvePuzzle(answer);
if(game.solvePuzzle(answer)==true)
{
System.out.println("That is correct");
}
else
{
System.out.println("You are wrong");
}
}
}
请发布相关的代码,你面临的问题。 – PermGenError 2013-02-18 22:41:39
你想用'solution.equalsIgnoreCase(解决方案)'语句做什么?''guessLetter'? – 2013-02-18 22:43:15
请注意:您的solvePuzzle方法可以写成:'return this.solution.equalsIgnoreCase(solution);'。这个测试:'if(game.solvePuzzle(solution)== true)'可以写成if(game.solvePuzzle(solution))'。布尔表达式的布尔类型已经是。无需将布尔值与true进行比较以获取布尔值。 – 2013-02-18 22:47:26