我对使用||的行为感到很困惑 .equals函数的运算符.有没有理由我不能在字符串或其他东西上使用它?
这工作:
do{
System.out.println("Play again? [Y/N]");
//input: Y
play = in.nextLine();
play = play.toUpperCase();
}
while(!"Y".equals(input) ); //breaks out of loop (as it should)
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?!
do{
System.out.println("Play again? [Y/N]");
//input: Y
play = in.nextLine();
play = play.toUpperCase();
}
while( !"Y".equals(input) || !"N".equals(input) ); //infinite loop
Run Code Online (Sandbox Code Playgroud)
Ama*_*dan 17
我们把它说成文字.
"吃所有这些水果,只要它不是苹果,或者它不是橙子."
如果它是苹果,"不是橙子"将是真的; 如果它是橙色,"不是苹果"将是真的; 如果是奇异鸟,两者都是真的.没有办法停止进食(除非你爆炸或昏迷).
糟糕的逻辑导致人们死于水果.
你想要"吃掉所有这些水果,只要它不是苹果,也不是橙子".