复制
收藏
提问
简洁
创建一个类ArrayOutBoundsException表示数组越界的异常。创建一个Array类,包含一个get()函数,返回数组中指定位置的元素,当数组下标越界时应该抛出ArrayOutOfBoundsException异常。
3月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
根据您的要求,我们需要创建两个类:一个名为 ArrayOutBoundsException
的自定义异常类,以及一个名为 Array
的类,其中包含一个 get()
函数。下面是这两个类的实现:
1. 自定义异常类 ArrayOutBoundsException
这个类将继承自 Java 的 Exception
类,用于表示数组越界的情况。当数组的索引超出了其有效范围时,将抛出此异常。
public class ArrayOutBoundsException extends Exception {
public ArrayOutBoundsException(String message) {
super(message);
}
}
2. Array
类及其 get()
函数
Array
类将包含一个整数数组,并提供一个 get()
函数来访问数组中的元素。如果请求的索引超出了数组的范围,get()
函数将抛出我们之前定义的 ArrayOutBoundsException
异常。
import java.util.Random;
public class Array {
private int[] array;
public Array(int size) {
this.array = new int[size];
// 用随机数填充数组
Random random = new Random();
for (int i = 0; i < size; i++) {
array[i] = random.nextInt(100); // 随机数范围0-99
}
}
public int get(int index) throws ArrayOutBoundsException {
if (index < 0 || index >= array.length) {
throw new ArrayOutBoundsException("Index " + index + " is out of bounds for length " + array.length);
}
return array[index];
}
}
使用示例
以下是如何使用 Array
类和处理 ArrayOutBoundsException
异常的示例:
public class Main {
public static void main(String[] args) {
Array myArray = new Array(10); // 创建一个包含10个元素的数组
try {
int index = 5; // 假设我们想访问索引为5的元素
System.out.println("Element at index " + index + " is: " + myArray.get(index));
// 尝试访问一个越界的索引
System.out.println("Element at index 20 is: " + myArray.get(20));
} catch (ArrayOutBoundsException e) {
System.err.println("Exception caught: " + e.getMessage());
}
}
}
在这个示例中,我们首先创建了一个 Array
对象,然后尝试访问一个有效的索引和越界的索引。当尝试访问越界索引时,程序将捕获 ArrayOutBoundsException
并打印出异常信息。12345678910
你觉得结果怎么样?