用Java写代码:已知若引用数组元素时,如果下标超出合理范围,则将触发数组下标越界异常(ArrayIndexOutOfBoundsException)。编写类ExceptionTest,在其main方法中完成:
时间: 2024-03-22 17:41:28 浏览: 75
可以按照以下代码编写ExceptionTest类:
```java
public class ExceptionTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
try {
int num = arr[3]; // 访问超出范围的数组元素,会抛出异常
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界异常:" + e.getMessage());
}
}
}
```
在main方法中,我们创建了一个长度为3的数组arr,然后尝试访问第4个元素,即超出了数组范围。此时,Java会抛出一个ArrayIndexOutOfBoundsException异常,我们通过try-catch语句块捕获并处理该异常,最终输出异常信息。
相关问题
1.已知若引用数组元素时,如果下标超出合理范围,则将触发数组下标越界异常(ArrayIndexOutOfBoundsException)。编写类ExceptionTest,在其main方法中完成: (1)在try中编写代码,通过数组下标越界代码,触发一个数组下标越界异常; (2)有两个catch块:一个是捕捉ArrayIndexOutOfBoundsException,输出:数组下标不能越界;一个是捕捉任意异常Exception,输出:其它异常被触发; (3)有一个finally块:输出:所有异常被处理。
可以这样编写ExceptionTest类:
```java
public class ExceptionTest {
public static void main(String[] args) {
try {
int[] arr = new int[5];
arr[10] = 1; //触发数组下标越界异常
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标不能越界");
} catch (Exception e) {
System.out.println("其它异常被触发");
} finally {
System.out.println("所有异常被处理");
}
}
}
```
当运行这个程序时,会输出:
```
数组下标不能越界
所有异常被处理
```
说明程序成功捕获了数组下标越界异常,并输出了对应的提示信息。同时,finally块中的代码也被执行了,说明它确实是在所有异常被处理之后执行的。
2. (ArrayIndexOutBoundsException) 按照以下要求编写程序: 创建一个包含100个整数的数组,元素随机生成; 提示用户输入一个整数,程序返回以用户的输入作为下标的数组元素值; 如果下标超出数组下标范围,则提示:下标越界,无此元素。
在Java中,你可以按照以下步骤编写这个程序:
```java
import java.util.Random;
import java.util.Scanner;
public class ArrayIndexOutOfBoundsExceptionExample {
public static void main(String[] args) {
// Step 1: 创建一个包含100个整数的数组,元素随机生成
int[] array = new int[100];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
array[i] = random.nextInt(100); // 生成0到99之间的随机整数
}
// Step 2: 提示用户输入一个整数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数索引(0-99):");
int userIndex = scanner.nextInt();
// Step 3: 返回并处理数组元素值
try {
System.out.println("数组元素值为:" + array[userIndex]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("下标越界,无此元素。");
}
// 关闭Scanner
scanner.close();
}
}
```
当用户输入的整数超出了数组的范围(即小于0或大于等于100),就会抛出`ArrayIndexOutOfBoundsException`异常。我们在访问数组之前捕获这个异常,并提供相应的错误信息。
阅读全文