我有两个可用选项供用户输入,我想要完成的是,如果用户没有输入任何一个输入,程序将不断地再次询问他们,直到他们输入有效的输入。这是现在的代码
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语句的开头?
最佳答案
当满足无效输入条件时,您将破坏代码。 执行如下操作,
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));
这会尝试获取仅有的 2 个可能的输入并终止循环。 否则将一次又一次循环,直到提供所需的输入。
关于java - 不断请求用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46591048/