我试图将键盘输入转换为整数,但我的程序总是崩溃。当输入诸如"k“之类的字符时,它可以工作,但当我输入"5”时,它就崩溃了。知道我做错了什么吗?
// Getting an integer value.
public static int getInt() {
int numberEntered = 0;
String entry = "";
Scanner keyboard = new Scanner(System.in);
while (!keyboard.hasNextInt()) {
entry = keyboard.next();
System.out.println("That is not an integer. " + "Please try again.");
}
numberEntered = Integer.parseInt(entry);
System.out.print(numberEntered);
return numberEntered;
}
输出:
Error given: k That is not an integer.
Please try again.
8
Exception in thread "main" java.lang.NumberFormatException: For input string: "k" at
java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at Program2.getInt(Program2.java:56)
at Program2.problemSelectionMenu(Program2.java:40)
at Program2.main(Program2.java:14)
https://stackoverflow.com/questions/53024808
复制相似问题