gpt4 book ai didi

java - 通过静态方法修改数组大小

转载 作者:行者123 更新时间:2023-12-01 15:00:07 28 4
gpt4 key购买 nike

我试图通过在每个方法调用时将数组大小增加 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。
现在我开始认为静态方法不允许调整 main 中的数组大小?
如果不能,是否有另一种方法仅使用静态方法来调整数组大小?

最佳答案

您需要从函数返回数组:

public static int[] addArray(int arrayName[]) {
...
arrayName = new int[arrayName.length + 1]; // adds array size by 1
...
return arrayName;
}


public static void main(String[] args) {
int num[] = {0, 1, 2, 3, 4};
num = addArray(num);
System.out.println(num.length);
}

关于java - 通过静态方法修改数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13784111/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com