java在main()中,创建一个长度为5的整型数组,通过循环每次为数组赋值为控制台输入的整数,每输入一个整数都提示是否继续输入,通过异常处理的方式实现当接收的输入不是整数时进行错误提示,并重新输入,通过异常处理的方式实现当数组已经存满5个数时,进行错误提示,不允许再次输入并结束循环
时间: 2023-06-12 19:05:52 浏览: 115
异常处理与输入输出(java)
可以使用以下代码实现:
```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);
int count = 0; // 记录已输入的数字个数
while (count < 5) {
try {
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
arr[count] = num;
count++;
System.out.print("是否继续输入?(Y/N)");
String input = scanner.next();
if (!input.equalsIgnoreCase("Y")) {
break;
}
} catch (Exception e) {
System.out.println("输入有误,请重新输入!");
scanner.nextLine(); // 清空输入缓冲区
}
}
if (count == 5) {
System.out.println("数组已满,无法继续输入!");
}
System.out.println("数组中的元素为:");
for (int i = 0; i < count; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
代码解释:
1. 创建一个长度为5的整型数组 `arr`;
2. 创建一个 `Scanner` 对象 `scanner` 用于接收控制台输入;
3. 使用 `while` 循环,当已输入的数字个数小于5时,循环执行以下操作:
1. 提示用户输入一个整数,并读取用户输入的整数 `num`;
2. 将 `num` 存入数组 `arr` 中,并将已输入的数字个数 `count` 加1;
3. 提示用户是否继续输入,如果用户输入的不是 `Y`(不区分大小写),则跳出循环;
4. 如果用户输入的不是整数,会抛出异常,进入 `catch` 块中,提示用户输入有误,并使用 `scanner.nextLine()` 清空输入缓冲区;
4. 当已输入的数字个数等于5时,输出提示信息“数组已满,无法继续输入!”;
5. 遍历数组 `arr`,输出其中的元素。
阅读全文