【InputMismatchException异常和ArithmeticException异常】编写一个程序,提示用户输入两个整数,然后显示它们的商。用户输入错误时提示用户重新输入,除数输入为0时提示除数不能为0。
时间: 2024-02-25 07:53:51 浏览: 79
好的,下面是Java代码实现:
```java
import java.util.InputMismatchException;
import java.util.Scanner;
public class DivideTwoNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num1, num2, result;
boolean validInput = false;
do {
try {
System.out.print("请输入第一个整数:");
num1 = scanner.nextInt();
System.out.print("请输入第二个整数:");
num2 = scanner.nextInt();
result = num1 / num2;
System.out.println(num1 + " / " + num2 + " = " + result);
validInput = true;
} catch (InputMismatchException e) {
System.out.println("输入的不是整数,请重新输入!");
scanner.nextLine(); //清空缓冲区
} catch (ArithmeticException e) {
System.out.println("除数不能为0,请重新输入!");
scanner.nextLine(); //清空缓冲区
}
} while (!validInput);
scanner.close();
}
}
```
程序中使用了Scanner类获取用户输入的两个整数,使用do-while循环实现当用户输入错误时提示重新输入。如果输入的不是整数,会抛出InputMismatchException异常;如果除数输入为0,会抛出ArithmeticException异常。在异常处理中,会输出相应的提示信息并清空缓冲区。如果用户输入正确,会计算两个整数的商并输出结果。最后,关闭Scanner对象。
阅读全文