Integer.parseInt() 使 Java 程序崩溃
Integer.parseInt() crashes Java program
我正在尝试使用 Integer.parseInt()
将 String
转换为 int
,如果这不起作用,catch
将 NumberFormatException
该程序 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();
}
如果出现异常就让它继续循环。
我正在尝试使用 Integer.parseInt()
将 String
转换为 int
,如果这不起作用,catch
将 NumberFormatException
该程序 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();
}
如果出现异常就让它继续循环。