让用户在 switch 语句中输入两次

Making the user enter twice in switch statement

我想增加用户可以使用数字 2 的次数,例如我希望用户输入数字 2 并获取日期名称,并且可以再次输入而无需程序结束并且不必 运行 又来了。

Scanner i =new Scanner(System.in);

System.out.println("Enter number 2 to get week day names (7)");

int day = i.nextInt();

switch (day) {
    case 1:System.out.println("Nothing");


            break;

    case 2:System.out.println("1- Saturday 2- Sunday 3- Monday 4- Tuesday 5- Wednesday 6- Thursday 7- Friday");

            break;

    default:System.out.println("You can't get any day names if you entered any number different than 2, for example: 3. ");


}


}

我可以在这个简单的代码中添加什么吗?谢谢

将你的 switch 语句放在 do-while 循环中并声明一个 String 变量选择。如果选择 == Y/y 然后重复。

您可以将其添加到 do-while 循环中,例如:

do {
    //Your switch here and add your scanner code here too.
} while (day != 3);

您可能希望将开关更改为如下形式:

switch (day) {
    case 1:
        System.out.println("Nothing");
        break;
    case 2:
        System.out.println("1- Saturday 2- Sunday 3- Monday 4- Tuesday 5- Wednesday 6- Thursday 7- Friday");
        break;
    case 3:
        System.out.println("Exit");
        break;
    default:
        System.out.println("You can't get any day names if you entered any number different than 3, for example: 4. ");
}

这样,您可以让用户在输入 3.

时选择退出程序

有关do-while循环的更多信息,请查看上面提供的link(强烈建议您阅读)。

因此,在那之后,您的代码应该如下所示:

Scanner i = new Scanner(System.in);
int day;
do {
    System.out.println("Enter number 2 to get week day names (7)");
    day = i.nextInt(); //This fixes infinite loop, you missed to read everytime you entered the loop.
    //Your switch here
} while (day != 3);