定义一个类TestParseException.java,要求如下 (1)利用Scanner类的next()接受用户从键盘输入的5个数,放入一整型数组a[5]; (2) 对用户输入的数据进行parseInt转换,以确保存入数组a的是整型数据,如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”; (3)循环打印输出每个元素,对于下标越界进行异常捕获,显示“只能打印a[4]整数”; (4)最后不管是否有错误都打印输出“执行完毕”;
时间: 2024-03-02 22:49:09 浏览: 41
以下是实现要求的TestParseException.java类的代码:
```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 {
System.out.print("请输入第" + (i+1) + "个整数:");
String input = scanner.next();
a[i] = Integer.parseInt(input);
} catch (NumberFormatException e) {
System.out.println("请输入整数");
i--;
}
}
for (int i = 0; i <= 5; i++) {
try {
System.out.println("a[" + i + "] = " + a[i]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("只能打印a[4]整数");
break;
}
}
System.out.println("执行完毕");
}
}
```
解释如下:
1. 首先创建一个Scanner对象,用于接收用户的输入;
2. 创建一个长度为5的整型数组a,用于存储用户输入的整数;
3. 使用一个for循环,循环5次,每次循环都尝试从用户输入中读取一个字符串,并将其转换为整型数据存入数组a中,如果转换失败则会抛出NumberFormatException异常,这里使用try-catch语句捕获异常,并输出提示信息“请输入整数”,并将循环变量i减1,以便重新读取一次用户输入;
4. 使用另一个for循环,循环6次(因为数组a的长度为5,最多只能访问到a[4]),并尝试打印输出数组a的每个元素,如果访问越界则会抛出ArrayIndexOutOfBoundsException异常,这里同样使用try-catch语句捕获异常,并输出提示信息“只能打印a[4]整数”,并使用break语句跳出循环;
5. 最后不管是否有错误都会打印输出“执行完毕”。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)