我正在编写一个非常简单的程序,当用户达到当前数组的限制时,它会自动扩展数组。
问题是当我运行我的 PrintList 方法时我得到一个 java.lang.ArrayIndexOutOfBoundsException ,我真的不知道为什么。如果我使用大于数组(例如 500)的随机数,它会完美运行,但如果我使用
for (int i = 0; i < stringArray.length; i++)
或者
for (int i = 0; i <= stringArray.length; i++)
我得到一个讨厌的例外。我该如何处理这个问题,为什么我首先得到它?
非常感谢你的帮助!
这是我的程序的源代码:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int index = 0;
String[] randomString = new String[1];
while (index <= randomString.length) {
out.println("Enter your string");
String input = keyboard.next();
randomString[index] = input;
PrintArray(randomString);
index++;
if (index >= randomString.length) {
ExtendArray(randomString);
continue;
}
}
}
public static void ExtendArray(String[] stringArray) {
String[] secondArray = new String[stringArray.length * 2];
// Copy first array into second array
for (int i = 0; i < stringArray.length; i++) {
stringArray[i] = secondArray[i];
stringArray = secondArray;
}
}
public static void PrintArray(String[] stringArray) {
for (int i = 0; i < stringArray.length; i++) {
out.println(" " + stringArray[i]);
}
}