Integer.parseInt() 使 Java 程序崩溃

Integer.parseInt() crashes Java program

我正在尝试使用 Integer.parseInt()String 转换为 int,如果这不起作用,catchNumberFormatException该程序 returns 并重新提示用户。

但是,当我输入一个非 String 值时,程序没有重新提示我,而是死机了。

这是我的代码片段:

    keepLooping = true;
    while(keepLooping) {
      String unconvertedString = "";
      int convertedInt = 0;
      try {
        System.out.print("Enter a string to be parsed into an integer: ");
        unconvertedString = userInput.next();
        convertedInt = Integer.parseInt(unconvertedString);
        keepLooping = false;
      }
      catch (NumberFormatException e) {
        userInput.next();
      }
    }

您需要删除 catch 子句中的 userInput.next()。

catch (NumberFormatException e) {
    //userInput.next();
}

如果出现异常就让它继续循环。