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

时间:2015-12-29 18:11:41

标签: java 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. ");


}


}

我可以添加到这个简单的代码吗?感谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以将其添加到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循环的详细信息,请查看上面提供的链接(我强烈建议您阅读它)。

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

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);