用java编写程序,利用try-catch-finally语句实现处理数组越界的异常。数组的长度通过输入的变量值来确定,如果数组没有越界就正常地输出数组的各个元素;如果出现数组越界,就提示语句“数组越界了”。最后通过finally语句提示程序执行结束。
时间: 2024-09-28 09:05:27 浏览: 54
在Java中,你可以使用try-catch-finally结构来捕获并处理数组越界异常。以下是实现这一功能的一个示例:
```java
import java.util.Scanner;
public class ArrayExceptionHandler {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数组长度:");
int length = input.nextInt();
// 创建指定长度的数组
String[] array = new String[length];
try {
System.out.print("请输入每个元素(按Enter键结束):");
for (int i = 0; i < array.length; i++) {
array[i] = input.nextLine();
}
// 正常输出数组元素
for (String element : array) {
System.out.println(element);
}
} catch (ArrayIndexOutOfBoundsException e) {
// 处理数组越界异常
System.out.println("数组越界了!");
} finally {
// 执行finally块,无论是否发生异常都会执行
System.out.println("程序执行结束.");
input.close(); // 关闭Scanner资源
}
}
}
```
在这个例子中,用户输入数组长度,然后尝试读取相应数量的输入作为数组元素。如果用户试图访问超出数组范围的索引,`input.nextLine()`会抛出`ArrayIndexOutOfBoundsException`,此时catch块会捕获这个异常并打印错误消息。无论是否发生异常,finally块中的内容总会被执行,这里关闭了`Scanner`以释放系统资源。
阅读全文