重置开关的大小写值,以便他们能再次输入菜单输入法 Java

问题描述 投票:0回答:1

我使用的是switch语句,效果不错。但是如果在switch里面发生了类似异常的情况,我希望程序能够返回再次要求用户选择。

我将分享一些示例代码。

while (valid != true)
{
    System.out.println("Enter a Choice \n1. Choice 1. \n2. Choice 2. \n3. Choice 3.");
    int choice = getChoice();      //Get choice just returns an integer from user input.

    switch (choice)
    {
        case 1:
            //Do something
            valid = true;
            break;

        case 2:
            //Do something
            valid = true;
            break;

        case 3:
            //Do something
            valid = true;
            break;

        default:
            System.out.println("Invalid Choice.");
    }

如果出了问题,validChoice没有被设置为true, 我希望用户能够重新输入选择,但是由于选择已经被设置了。它将直接进入case 3。

我试过的一些方法包括

这些都是在出错的情况下进行的。

将选择设置为null,如果它出错。(本来希望这样做能行得通),但是java并不允许

将选择设置为0,就会让它进入默认情况。

java while-loop switch-statement reset
1个回答
2
投票

试试这个..:

            do {
                 System.out.println("Enter a Choice \n1. Choice 1. \n2. Choice 2. \n3. Choice 3.");
    int choice = getChoice();      //Get choice just returns an integer from user input.

    switch (choice)
    {
        case 1:
            //Do something
            valid = true;
            break;

        case 2:
            //Do something
            valid = true;
            break;

        case 3:
            //Do something
            valid = true;
            break;

        default:
            System.out.println("Invalid Choice.");
            break;
    }

            } while (valid != true);
}
}
© www.soinside.com 2019 - 2024. All rights reserved.