java中int类型输入字母报错可以用try-catch方法解决吗,请给我一个代码实例
时间: 2024-05-01 19:17:57 浏览: 9
当使用Scanner.nextInt()方法输入int类型变量时,如果输入了非数字内容,会抛出InputMismatchException异常。
我们可以使用try-catch块来捕获这个异常,并给出处理代码。下面是一个示例代码:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = 0;
boolean isInputValid = false;
do {
try {
System.out.println("请输入一个整数:");
num = scanner.nextInt();
isInputValid = true;
} catch (InputMismatchException e) {
System.out.println("输入的不是整数,请重新输入。");
scanner.nextLine(); // 继续读取输入
}
} while (!isInputValid);
System.out.println("输入的整数是:" + num);
}
}
```
在这个例子中,我们不断循环读取输入,直到用户输入了一个合法的整数。如果抛出了InputMismatchException异常,我们捕获并打印一条错误信息,然后继续读取输入。
运行该代码,示例输出如下:
```
请输入一个整数:
abc
输入的不是整数,请重新输入。
请输入一个整数:
12.3
输入的不是整数,请重新输入。
请输入一个整数:
100
输入的整数是:100
```