Java题目需求描述 编写一个简单的程序,完成两个整数的除法运算,同时处理以下异常情况: 除数为零时,抛出 算术异常。 输入的不是整数时,抛出 输入格式异常。
时间: 2024-12-16 10:28:40 浏览: 4
在Java中,你可以通过设计一个方法来处理这种需求。首先创建一个函数,它接受两个参数作为被除数和除数。然后,你需要包含适当的try-catch块来捕获可能出现的异常。下面是一个示例:
```java
public class DivisionCalculator {
public static void main(String[] args) {
try {
int dividend = getValidInput("请输入被除数: ");
int divisor = getValidInput("请输入除数: ");
System.out.println("结果是: " + divide(dividend, divisor));
} catch (ArithmeticException e) {
System.out.println("错误: 除数不能为零");
} catch (InputMismatchException e) {
System.out.println("错误: 输入的不是整数");
}
}
// 获取有效整数输入并处理异常
private static int getValidInput(String prompt) throws InputMismatchException {
Scanner scanner = new Scanner(System.in);
System.out.print(prompt);
while (!scanner.hasNextInt()) { // 如果输入非整数循环提示直到用户输入整数
System.out.println("输入无效,请输入一个整数:");
scanner.next(); // 清空上一次输入
}
return scanner.nextInt();
}
// 实现除法运算,如果发生算术异常,会向上抛出
private static int divide(int a, int b) {
if (b == 0) throw new ArithmeticException("除数不能为零"); // 预防除以零的情况
return a / b;
}
}
```
在这个例子中,`getValidInput`函数用于获取用户输入,并确保是整数。`divide`函数执行除法运算,如果遇到除数为零的情况,则抛出`ArithmeticException`。主函数`main`捕获这两种异常,并提供相应的错误消息。
阅读全文