当我决定使用 try catch 来捕获异常时,我正在用 java 编写代码。我用scanner来取一个整数输入,如果我输入一个非整数的值,我就用try catch。 这是代码。
import java.util.InputMismatchException;
import java.util.Scanner;
public class excep {
public static void main(String[] args) {
int a;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number");
try {
a = sc.nextInt();
} catch (InputMismatchException e) {
System.out.println("You should enter a number");
a = sc.nextInt();
}
System.out.println(a);
}
}
如果我输入整数,我的代码运行正常,但是当我输入整数以外的另一个值时,异常有效但再次打印 java 异常。
这个问题...
E:\demo\source>java excep.java 输入一个数字 1个 1
E:\demo\source>java excep.java
Enter a number
x
You should enter a number
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:947)
at java.base/java.util.Scanner.next(Scanner.java:1602)
at java.base/java.util.Scanner.nextInt(Scanner.java:2267)
at java.base/java.util.Scanner.nextInt(Scanner.java:2221)
at demo.source.excep.main(excep.java:13)
E:\demo\source>
如果可以,请帮帮我!
我尝试使用其他值,但在 try-catch 运行后再次打印异常。