请用JAVA编写一个捕获异常的小程序:计算二个数的商,分别捕获数组越界、数据格式不正确、除数为零三种异常
时间: 2023-06-10 16:06:52 浏览: 45
下面是一个使用Java编写的计算两个数的商并捕获三种异常的示例程序:
```java
import java.util.Scanner;
public class DivideNumbers {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] numbers = new int[2];
try {
// 读取两个整数
for (int i = 0; i < 2; i++) {
System.out.print("请输入第" + (i+1) + "个整数: ");
numbers[i] = input.nextInt();
}
// 计算商并输出
int result = numbers[0] / numbers[1];
System.out.println("两数相除的结果是: " + result);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常: " + e.getMessage());
} catch (NumberFormatException e) {
System.out.println("数据格式异常: " + e.getMessage());
} catch (ArithmeticException e) {
System.out.println("除数为零异常: " + e.getMessage());
} finally {
// 关闭输入流
input.close();
}
}
}
```
在本示例程序中,我们使用了一个 `try-catch` 语句块来捕获可能抛出的三种异常:数组越界、数据格式不正确和除数为零。如果输入的数据格式不正确,例如输入了非数字字符,那么程序将抛出 `NumberFormatException` 异常;如果输入的除数为零,那么程序将抛出 `ArithmeticException` 异常。在每个 `catch` 块中,我们输出异常信息,提醒用户输入正确的数据。无论是否抛出异常,`finally` 块中都会执行关闭输入流的操作,以确保程序的安全性和可靠性。