我有一个程序,我正在尝试向其中添加异常处理。问题是,我写的异常仍然退出程序。基本上我让用户输入任何 int,如果他们给我一个 char,异常说他们不能这样做并让他们输入另一个 int。但它没有给我这个错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at cit130_hw10_q3.Cit130_hw10_q3.main(Cit130_hw10_q3.java:29)
Java 结果:1
这是一些代码。感谢您提供的任何帮助。
Scanner input = new Scanner(System.in);
System.out.println("Enter a series of integers." +
"When finished enter 999");
int userInput = 0;
int inputCount = 0;
do{
try{
System.out.println("Enter an integer: ");
userInput = input.nextInt();
addToArray(userInput, inputCount);
}
catch(Exception e){
System.out.println("Only integer values are accepted. Please try again");
}
inputCount++;
}while (userInput != 999);
public static void addToArray(int nextInt , int inputCount){
integerArray[inputCount] = nextInt;
}
最佳答案
我怀疑您忘记在中间重新编译或者正在运行其他版本的代码,可能是与此不同的文件。如果您像您展示的那样捕获了 java.lang.Exception,则不会发生这种情况。
另一个选项是你有 input.nextInt();其他地方,也有你没有粘贴在这里的部分。再次确认第 29 行。
关于Java:异常处理不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487577/