帮我画一个类层次结构(InputMismatchException异常)编写一个程序,提示用户读取两个整数,然后显示它们的和,程序应该在输入不正确时提示用户再次读取数字。
时间: 2024-05-15 21:13:10 浏览: 79
Java编程入门第2章练习Java开发Java经验技巧共3
以下是针对这个问题的类层次结构示例:
```
Throwable
|
+-- Exception
|
+-- RuntimeException
|
+-- InputMismatchException
```
在这个结构中,我们有一个名为Throwable的根类,它是所有异常类的父类。然后,我们有一个名为Exception的子类,它表示能够被抛出的异常。RuntimeException是Exception的一个子类,它表示在运行时可能会发生的异常。最后,InputMismatchException是RuntimeException的一个子类,它表示在读取输入时输入不匹配的异常。
以下是一个基于此类层次结构的程序示例:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class InputMismatchExceptionDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = 0, num2 = 0;
boolean inputValid = false;
// 读取第一个整数,如果输入不正确则提示用户再次输入
while (!inputValid) {
try {
System.out.print("请输入第一个整数:");
num1 = scanner.nextInt();
inputValid = true;
} catch (InputMismatchException e) {
System.out.println("输入有误,请重新输入!");
scanner.next(); // 清除输入缓冲区
}
}
inputValid = false;
// 读取第二个整数,如果输入不正确则提示用户再次输入
while (!inputValid) {
try {
System.out.print("请输入第二个整数:");
num2 = scanner.nextInt();
inputValid = true;
} catch (InputMismatchException e) {
System.out.println("输入有误,请重新输入!");
scanner.next(); // 清除输入缓冲区
}
}
// 计算并输出两个整数的和
int sum = num1 + num2;
System.out.println("两个整数的和为:" + sum);
}
}
```
上述程序会提示用户输入两个整数,并在输入不正确时要求用户再次输入。如果输入正确,则计算并输出它们的和。如果输入不正确,则打印错误消息并清除输入缓冲区,以便用户可以再次尝试输入。
阅读全文