请使用java完成1.编写一个程序满足下面要求的程序ArrayExceptionTest.java: 创建一个由100个随机选取的整数构成的数组 提示用户输入数组下标,然后显示对应的元素值 如果用户输入的不是一个可转化为整数的字符(抛出InputMismatchException),就显示消息” Incorrect input re-enter one integers number:”。要求用户重新输入。 如果用户输入的数字越界(抛出IndexOutOfBoundsException),就显示消息” Out of Bounds re-enter one integers number:”要求用户重新输入。
时间: 2024-02-06 16:11:11 浏览: 73
将一个整数S随机拆分为N个在min~max之间的整数.txt
好的,下面是代码实现:
```java
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
public class ArrayExceptionTest {
public static void main(String[] args) {
int[] arr = new int[100];
Random random = new Random();
for (int i = 0; i < 100; i++) {
arr[i] = random.nextInt(1000); // 随机生成100个0-999的整数
}
Scanner scanner = new Scanner(System.in);
int index;
while (true) {
try {
System.out.print("请输入数组下标:");
index = scanner.nextInt();
System.out.println("数组元素值为:" + arr[index]);
break;
} catch (InputMismatchException e1) {
System.out.println("Incorrect input re-enter one integers number:");
scanner.nextLine(); // 清空缓冲区
} catch (IndexOutOfBoundsException e2) {
System.out.println("Out of Bounds re-enter one integers number:");
}
}
}
}
```
解释一下代码:
- 首先创建一个长度为100的数组,存储随机生成的整数。
- 然后使用Scanner从用户处获取输入,如果输入的不是整数,就会抛出InputMismatchException异常,此时需要清空缓冲区。
- 如果输入的数值超过了数组下标范围,就会抛出IndexOutOfBoundsException异常,此时需要提示用户重新输入。
- 如果输入的是正确的下标,就输出对应的数组元素值,并退出循环。
希望能够帮到你!
阅读全文