我希望只要用户在忽略大小写时输入"停止"或"继续"以外的值,就会执行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
ricky3350.. 7
你有错误的运营商:
!(strContinue.equalsIgnoreCase("stop"))
是true
,除非strContinue
是"stop"
.
!(strContinue.equalsIgnoreCase("continue"))
是true
,除非strContinue
是"continue"
.
strContinue
不能同时"stop"
和"continue"
,条件因此至少一个永远是true
,和false || true
是true
.
解决方案:将or(||
)更改为an和(&&
).
你有错误的运营商:
!(strContinue.equalsIgnoreCase("stop"))
是true
,除非strContinue
是"stop"
.
!(strContinue.equalsIgnoreCase("continue"))
是true
,除非strContinue
是"continue"
.
strContinue
不能同时"stop"
和"continue"
,条件因此至少一个永远是true
,和false || true
是true
.
解决方案:将or(||
)更改为an和(&&
).