java - 不断请求用户输入

标签 java string loops if-statement while-loop

我有两个可用选项供用户输入,我想要完成的是,如果用户没有输入任何一个输入,程序将不断地再次询问他们,直到他们输入有效的输入。这是现在的代码

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/

相关文章:

c++ - 将 std::string 传递给函数 f(**char)

php - 在每组的某个数组元素后添加一个div

java - 是否保证连续两次调用安全随机数会给出不同的数字?

java - ExecutorCompletionService 未获取 Callable 返回的项目?

java - 在函数中将多个字符串从 c 传递到 java(jni)

java - 将字符串格式化为特定精度时遇到问题

java - Android 类 JsonRequest 和子类 JsonRequestArray 和 JsonRequestObject

java - wp :featuredmedia of type org. json.JSONArray 无法转换为 JSONObject

c++ - 使用 for 循环的无符号 int 反向迭代

java - 从迭代列表中保存对象