输入重复相同的情况

Input Repeat with same case

在我 运行 这个代码之后,它说 BUILD SUCCESSFUL 并且它停止了。我应该怎么做才能让它重复询问具有相同案例的另一个输入?我确实在几个网站上阅读了教程,但这些都没有帮助我。

代码如下:

import java.util.Scanner;

public class SwitchTry {

public static void main(String[] args) {

    int mth;
    String mthString;
    Scanner scanner = new Scanner(System.in);

    mth =scanner.nextInt();

    switch (mth) {
        case 1: mthString = "January";
            break;
        case 2: mthString = "February";
            break;
        case 3: mthString = "March";
            break;
        case 4: mthString = "April";
            break;
        case 5: mthString = "May";
            break;
        case 6: mthString = "June";
            break;
        case 7: mthString = "July";
            break;
        case 8: mthString = "August";
            break;    
        case 9: mthString = "September";
            break;
        case 10: mthString = "October";
            break;
        case 11: mthString = "November";
            break;
        case 12: mthString = "December";
            break;    
        default: mthString = "Error";
            break;
    }

    System.out.println(mthString);
}

}

感谢您提供的任何帮助。

I would try using a while loop to encase the switch. So it keeps asking your input. 
import java.util.Scanner;

public class SwitchTry {

public static void main(String[] args) {

while(true){
    int mth;
    String mthString;
    Scanner scanner = new Scanner(System.in);

    mth =scanner.nextInt();

    switch (mth) {
        case 1: mthString = "January";
            break;
        case 2: mthString = "February";
            break;
        case 3: mthString = "March";
            break;
        case 4: mthString = "April";
            break;
        case 5: mthString = "May";
            break;
        case 6: mthString = "June";
            break;
        case 7: mthString = "July";
            break;
        case 8: mthString = "August";
            break;    
        case 9: mthString = "September";
            break;
        case 10: mthString = "October";
            break;
        case 11: mthString = "November";
            break;
        case 12: mthString = "December";
            break;    
        default: mthString = "Error";
            break;
    }

    System.out.println(mthString);
}
}
}

正如 MadProgarmmer 所建议的那样 do-while 循环是此类场景的完美用例。您需要将输入行加上 switch case 和 print 语句包装在 do-while 循环中,如下所示:

do {
   //so you know that terminal is asking for input
   System.out.println("Input: "); 

   mth =scanner.nextInt();

   //copy/paste your switch case with last System.out.println() here

} while (true); 

我担心执行永无止境。也许您想在用户提供 -1 时结束循环,因此将 while(true) 更改为 while (mth != -1) 并且这应该是您的终止输入。