我是Java的初学者,并尝试在switch语句中的许多情况下实现do while循环。
do {
switch (UserInput){
case "a2":
case "a3":
case "b1":
case "b2":
case "b3":
case "c1":
case "c2":
case "c3":
case "d1":
case "d2":
case "d3":
TextIO.putln("This is a valid move!");
break;
default:
TextIO.putln("Not a valid choice, please try again!");
}
} while (UserInput!="a2");
然而,当选择是有效的,它不断地重复“这是一个有效的举措”,反之亦然,当它是无效的。有人能帮忙吗?
最佳答案
我将用Scanner(System.in)
给出一个例子:
Scanner s = new Scanner(System.in);
String input = "";
do {
input = s.next();
switch(input) {
case "42":
System.out.println("Success");
break;
default:
System.out.println("Wrong answer!");
}
} while(!input.equals("42"));
s.next()
是一个阻塞调用(在这种情况下),这意味着在s.next()
等待新用户输入时,程序停止执行。如果没有该调用,则while循环将仅一遍又一遍地评估
input
的相同值,从而向控制台发送垃圾邮件。
关于java - 做while循环错误(switch语句),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36983141/