java - while 循环出错。它不会阻止 Java

标签 java loops while-loop

嘿伙计们,我有以下 while 循环,它似乎不会停止。它应该询问用户一个小时。我正在 try catch 用户未输入数字的事件。

即 输入小时: foo 您没有输入有效值

然后它应该允许用户再次输入小时值,但它会一遍又一遍地打印错误消息

    private static void setTime(Clock clock){
        int hours = -1;
        int minutes = -1;
        int seconds = -1;

        Scanner scanner = new Scanner(System.in);

        while(true)
        {
            try{
                System.out.print("Enter hours: ");
                hours = scanner.nextInt();          
            }
            catch(NumberFormatException nfe){
                System.out.println("Input was not an integer, please try again");
                continue;
            }
            catch(InputMismatchException ims){
                System.out.println("Input was not an integer, please try again");
                continue;
            }
            break;
        }
}

最佳答案

Scanner Scanner = ... 移至 while 循环中。

关于java - while 循环出错。它不会阻止 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5606462/

相关文章:

java - 如何在加法器游戏中检查第三个变量(ans)?

java - Spring WS 通过 POST 的 sendSourceAndReceiveToResult 方法

Java程序无限循环

java - For 循环头中的循环计算

php - 在 w3-row-padding 中循环 w3-quarter

java - 将 iOS 和 Android 客户端连接到 SockJS 后端

java - 如何进一步优化我的代码?

python - Pandas :在 Dataframe 子集上使用 iterrows

c - 为什么“while(!feof(file))”总是错误的?

python - 跳出循环 - Python