【发布时间】:2013-11-07 22:33:28
【问题描述】:
我正在编写一个非常简单的程序,它会在用户达到当前数组的限制时自动扩展数组。
问题是我在运行 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]);
}
}
【问题讨论】:
-
附注:Java 方法名称应为 lowerCamelCase()。
-
谢谢汤加,我不知道。我先学的是 C#,除了方法之外的所有东西都是小写的。
标签: java arrays exception for-loop printing