Boo*_*ish 1 java string boolean
我希望只要用户在忽略大小写时输入"停止"或"继续"以外的值,就会执行while循环.我怎样才能做到这一点?每当我运行程序时,即使我输入继续或停止,它也会输出"无效条目".我究竟做错了什么?
package butt;
import java.util.*; // used for console input
public class butt_face{
static Scanner console = new Scanner(System.in); // needed for user input
public static void main(String[] args) {
String strContinue; // input from console and used for boolean
System.out.println("Would you like to stop or continue? ");
strContinue = console.next();
while(!(strContinue.equalsIgnoreCase("stop")) || !(strContinue.equalsIgnoreCase("continue")))
{
System.out.println("Invalid entry");
System.out.println("Would you like to stop or continue? ");
strContinue = console.next();
} // end while
if(strContinue.equalsIgnoreCase("stop")
{
System.out.println("Good bye!");
} // end if
else
System.out.println("Poop Ship Destroyer");
} // end of main
} // end of class
Run Code Online (Sandbox Code Playgroud)
你有错误的运营商:
!(strContinue.equalsIgnoreCase("stop"))
Run Code Online (Sandbox Code Playgroud)
是true,除非strContinue是"stop".
!(strContinue.equalsIgnoreCase("continue"))
Run Code Online (Sandbox Code Playgroud)
是true,除非strContinue是"continue".
strContinue不能同时"stop"和"continue",条件因此至少一个永远是true,和false || true是true.
解决方案:将or(||)更改为an和(&&).
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |