java【InputMismatchException异常和ArithmeticException异常】编写一个程序,提示用户输入两个整数,然后显示它们的商。用户输入错误时提示用户重新输入,除数输入为0时提示除数不能为0。
时间: 2024-03-17 16:45:34 浏览: 56
好的,以下是一个简单的Java程序,用try-catch块来处理InputMismatchException异常和ArithmeticException异常,实现了题目要求:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1 = 0, num2 = 0;
boolean flag = true; // 标志变量
while (flag) {
try {
System.out.print("请输入第一个整数:");
num1 = scanner.nextInt();
System.out.print("请输入第二个整数:");
num2 = scanner.nextInt();
flag = false; // 输入正确,跳出循环
} catch (InputMismatchException e) {
System.out.println("输入错误,请重新输入整数!");
scanner.nextLine(); // 清空输入缓冲区
}
}
try {
int result = num1 / num2;
System.out.println(num1 + " / " + num2 + " = " + result);
} catch (ArithmeticException e) {
System.out.println("除数不能为0!");
}
}
}
```
在这个程序中,我们首先创建了一个Scanner对象,用来读取用户的输入。然后,我们定义了两个整数变量num1和num2,并且定义了一个标志变量flag,用来判断用户输入是否正确。在while循环中,我们使用try-catch块来捕获InputMismatchException异常,当用户输入非整数时,程序会提示用户重新输入整数。当用户输入正确时,flag变量会被设置为false,跳出循环。
接着,我们使用try-catch块来捕获ArithmeticException异常,当用户输入的除数为0时,程序会提示除数不能为0。否则,程序将计算两个整数的商,并输出结果。
阅读全文