メソッドの呼び出しごとに配列のサイズを 1 ずつ追加して、配列のサイズを変更しようとしています。
静的メソッドを作成しましたが、引数として配列を取ります。
public static void addArray(int arrayName[]) {
int tempNum[] = new int[arrayName.length]; // save the numbers before add array size
for (int i = 0; i < arrayName.length; i++) { // because by adding/removing array size, it would clear element array
tempNum[i] = arrayName[i];
}
arrayName = new int[arrayName.length + 1]; // adds array size by 1
for (int i = 0; i < arrayName.length - 1; i++) { // sets all the saved numbers to the new element in the array
arrayName[i] = tempNum[i]; // stops at (length - 1) because I want to leave it blank at the last element
}
}
(コードがおかしかったらごめんなさい。ここにコードを正しく投稿する方法がわかりません)
主に、私はこれを行います。
public static void main(String[] args) {
int num[] = {0, 1, 2, 3, 4};
addArray(num);
System.out.println(num.length);
}
ご覧のとおり、デフォルトの配列サイズ (長さ) は 5 のはずですが、メソッドを何度呼び出しても常に 5 として出力されます。
静的メソッドではメインからの配列が許可されないのではないかと考え始めています。サイズを変更するには?
できない場合、特に静的メソッドのみを使用して配列のサイズを変更する別の方法はありますか?