无法突破while循环。我的代码出了什么问题? 从逻辑上看,一切看起来都是正确的:
虽然(不是'或不是' p') --- Printline:" Retype" --- ReadInput:
while (!answerInput.equals("s") || !answerInput.equals("p"))
{
System.out.print("Wrong Input. Type S for Sum or P for Product: ");
answerInput = userInput.next();
answerInput = answerInput.toLowerCase();
}
请告知。
答案 0 :(得分:4)
用简单的英语,你的代码说:
如果" answerInput"不仅仅是' s,或" answerInput"不是' p',这个表达式是真的。
这句话永远不会是假的。它显然要么不是''是不是' p&#39 ;;它不能同时是两个值。两个不等式中的一个总是正确的,因此整个表达式也将是真实的。
你应该说的是:
如果" answerInput"不仅仅是' s,和" answerInput"除了' p'之外,这个表达式也是如此。
在Java中,表达为:
while (!answerInput.equals("s") && !answerInput.equals("p"))