设有一个整数数组a[], a有10个元素,其值依次为0到9。 从键盘输入整数i的值,求a[i]的倒数。 注意处理各种异常。发生异常后,根据不同的异常,输出警告。 提示: 需要考虑InputMismatchException、ArrayIndexOutimport java.util.Scanner; import java.util.InputMismatchException; public class Main { public static void main(String[] args) { int[] a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; /* 请在这里填写答案 */ } }
时间: 2024-02-04 10:03:07 浏览: 156
汇编语言 20个练习题目 代码加实验报告
5星 · 资源好评率100%
以下是实现代码:
```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 sc = new Scanner(System.in);
System.out.print("请输入数组下标:");
try {
int i = sc.nextInt();
double result = 1.0 / a[i];
System.out.println(result);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界!");
} catch (InputMismatchException e) {
System.out.println("输入的不是整数!");
} catch (ArithmeticException e) {
System.out.println("数组元素为0,无法求倒数!");
} catch (Exception e) {
System.out.println("发生未知异常!");
}
}
}
```
主要是在try块中对输入的下标进行处理,如果输入的不是整数或者下标越界,会抛出InputMismatchException和ArrayIndexOutOfBoundsException异常。如果数组元素为0,会抛出ArithmeticException异常。在catch块中根据不同的异常类型输出相应的提示信息。
阅读全文