main方法 事先定义好一个大小为5的数组。 根据屏幕输入产生相应异常。 提示:可以使用System.out.println(e)打印异常对象的信息,其中e为捕获到的异常对象。 输入说明: arr 代表产生访问数组是产生的异常。然后输入下标,如果抛出ArrayIndexOutOfBoundsException异常则显示,如果不抛出异常则不显示。 null,产生NullPointerException cast,尝试将String对象强制转化为Integer对象,产生ClassCastException。 num,然后输入字符,转化为Integer,如果抛出NumberFormatException异常则显示。 其他,结束程序。
时间: 2024-03-26 12:34:42 浏览: 57
idea输入sout无法自动补全System.out.println()的问题
5星 · 资源好评率100%
下面是实现输入异常处理的示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[] arr = new int[5];
Scanner scanner = new Scanner(System.in);
String input;
int index;
while (true) {
System.out.print("请输入异常类型(arr/null/num/其他):");
input = scanner.next();
try {
if (input.equals("arr")) {
// 访问数组
System.out.print("请输入数组下标:");
index = scanner.nextInt();
System.out.println(arr[index]);
} else if (input.equals("null")) {
// 空指针
String s = null;
s.length();
} else if (input.equals("num")) {
// 类型转换
System.out.print("请输入一个字符串:");
input = scanner.next();
Integer i = Integer.parseInt(input);
} else {
break;
}
} catch (ArrayIndexOutOfBoundsException | NullPointerException | ClassCastException e) {
System.out.println("产生异常:" + e);
} catch (NumberFormatException e) {
System.out.println("产生异常:" + e);
}
}
}
}
```
运行示例:
```
请输入异常类型(arr/null/num/其他):arr
请输入数组下标:5
产生异常:java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
请输入异常类型(arr/null/num/其他):null
产生异常:java.lang.NullPointerException
请输入异常类型(arr/null/num/其他):num
请输入一个字符串:abc
产生异常:java.lang.NumberFormatException: For input string: "abc"
请输入异常类型(arr/null/num/其他):other
```
阅读全文