Java设有一个整数数组a[], a有10个元素,其值依次为0到9。 从键盘输入整数i的值,求a[i]的倒数。 注意处理各种异常。发生异常后,根据不同的异常,输出警告。 提示: 需要考虑InputMismatchException、ArrayIndexOutOfBoundsException、ArithmeticException等多
时间: 2023-06-11 11:09:18 浏览: 105
下异常情况。
以下是Java代码的实现:
```
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
Scanner scanner = new Scanner(System.in);
try {
int i = scanner.nextInt();
double result = 1.0 / a[i];
System.out.println("a[" + i + "]的倒数为:" + result);
} catch (InputMismatchException e) {
System.out.println("输入格式错误!");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界!");
} catch (ArithmeticException e) {
System.out.println("除数不能为0!");
} catch (Exception e) {
System.out.println("发生了其他异常!");
}
}
}
```
解释一下代码:
1. 定义了一个整数数组a[],长度为10,初始值为0到9。
2. 创建了一个Scanner对象,用于从键盘输入整数i的值。
3. 在try块中,首先获取输入的整数i,并计算a[i]的倒数。
4. 如果输入的格式不正确,会抛出InputMismatchException异常,需要在catch块中进行处理。
5. 如果输入的整数i超出了数组a[]的范围,会抛出ArrayIndexOutOfBoundsException异常,需要在catch块中进行处理。
6. 如果计算a[i]的倒数时除数为0,会抛出ArithmeticException异常,需要在catch块中进行处理。
7. 如果发生了其他异常,会抛出Exception异常,需要在catch块中进行处理。
8. 在每个catch块中,输出相应的警告信息。
9. 最后,程序执行完毕。
阅读全文