定义一个类TestParseException.java,要求如下 (1)利用Scanner类的next()接受用户从键盘输入的5个数,放入一整型数组a[5]; (2) 对用户输入的数据进行parseInt转换,以确保存入数组a的是整型数据,如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”; (3)循环打印输出每个元素,对于下标越界进行异常捕获,显示“只能打印a[4]整数”; (4)最后不管是否有错误都打印输出“执行完毕”;
时间: 2024-03-05 13:54:28 浏览: 82
下面是定义的TestParseException类:
```java
import java.util.Scanner;
public class TestParseException {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] a = new int[5];
for (int i = 0; i < 5; i++) {
try {
String input = scanner.next();
a[i] = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("请输入整数");
}
}
for (int i = 0; i <= 5; i++) {
try {
System.out.println(a[i]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("只能打印a[4]整数");
}
}
System.out.println("执行完毕");
}
}
```
在上面的代码中,我们首先定义了一个Scanner对象,用于从键盘接收用户输入的数据。然后定义了一个长度为5的整型数组a。在接收用户输入的数据过程中,我们使用了try-catch语句块来捕获NumberFormatException异常,如果输入的数据不是整数,就会抛出这个异常,我们就在catch语句块中输出“请输入整数”。接下来,我们使用for循环遍历数组a,并在循环中使用try-catch语句块来捕获ArrayIndexOutOfBoundsException异常,如果下标越界,就会抛出这个异常,我们就在catch语句块中输出“只能打印a[4]整数”。最后,无论是否发生异常,我们都会输出“执行完毕”。
如果我们输入的数据都是整数,并且没有发生下标越界的情况,输出结果为:
```
1
2
3
4
5
0
0
0
0
0
只能打印a[4]整数
执行完毕
```
如果我们输入的数据中包含非整数,输出结果为:
```
1
2
a
请输入整数
4
5
0
0
0
0
只能打印a[4]整数
执行完毕
```
阅读全文