ユーザーが現在の配列の制限に達したときに配列を自動的に拡張する、非常に単純なプログラムを作成しています。
問題は、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]);
}
}