不断要求用户输入

时间:2017-10-05 16:55:38

标签: 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语句的开头?

2 个答案:

答案 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提供的答案也适用