我有两个可供用户输入的选项,我想要完成的是如果用户没有输入任何一个输入,程序会再次连续询问他们,直到他们输入有效的输入。这是现在的代码
String userLIB = user_input.next();
if (userLIB.contentEquals(UBC.acro)){
printDetails(UBC);
} else {
if (userLIB.contentEquals(ORL.acro)){
printDetails(ORL);
} else {
while (!userLIB.contentEquals(UBC.acro) || !userLIB.contentEquals(ORL.acro)){
System.out.println("Invalid input");
break;
}
}
}
我有一个休息时间,以防止代码无法循环“无效输入”,但它现在只是结束程序,这不是我想要发生的事情。有没有办法让程序回到if语句的开头?
答案 0 :(得分:1)
当满足无效输入条件时,您的代码就会中断。 如下,
String userLIB = "";
do {
userLIB = user_input.next();
if (userLIB.contentEquals(UBC.acro)){
printDetails(UBC);
} else if (userLIB.contentEquals(ORL.acro)) {
printDetails(ORL);
} else {
System.out.println("Invalid input. Try again!");
}
} while (!userLIB.contentEquals(UBC.acro) || !userLIB.contentEquals(ORL.acro));
这样,试图获得仅有的两个可能的输入并终止循环。 否则将一次又一次地循环,直到提供所需的输入。
答案 1 :(得分:0)
我在@Carcigenicate的帮助下想出来了,我在整个代码之外放了一个while循环然后放了一个userLIB = user_input.next();在不正确的if语句中。还要感谢@Sridhar提供的答案也适用