用Java写出从命令行得到5个整数,放入一个整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获integer.parselnt()产生的异常,显示"请输入整数",捕获输入参数多于5个的异常(数
时间: 2024-11-23 19:30:42 浏览: 6
在Java中,你可以使用Scanner类从命令行获取用户输入,并使用try-catch块处理可能出现的Integer.parseInt()异常以及ArrayIndexOutOfBoundsException。下面是一个示例程序:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] numbers = new int[5]; // 初始化一个长度为5的整型数组
try {
System.out.println("请输入5个整数:");
for (int i = 0; i < 5; i++) {
if (!scanner.hasNextInt()) { // 检查是否为整数
throw new IllegalArgumentException("请输入整数");
}
numbers[i] = scanner.nextInt(); // 将整数存入数组
}
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
return; // 结束程序
} catch (Exception e) {
System.err.println("输入错误或超过5个整数,请检查!");
}
// 打印数组内容
System.out.println("输入的整数为:");
for (int num : numbers) {
System.out.print(num + " ");
}
}
}
```
在这个例子中,我们首先创建一个Scanner对象来读取用户的输入。然后在一个循环中,尝试将输入转换为整数并存储到数组中。如果输入不是整数,会抛出`InputMismatchException`,我们捕获这个异常并显示提示信息。如果输入过多或有其他未知异常,我们会捕获`Exception`类型的异常,给出通用的错误消息。
阅读全文