gpt4 book ai didi

java - 如何将参数添加到数组的末尾?

转载 作者:行者123 更新时间:2023-11-29 03:57:20 24 4
gpt4 key购买 nike

我正在研究这个代表整数列表的 NumberList 类。 NumberList 对象只有一个实例变量,它是对一组 int 值的引用。我需要实现的方法之一是假设通过以下方式将参数添加到列表的末尾:

a) 创建另一个比现有数组大一个单位的数组

b) 将现有数组中的所有元素复制到新数组

c) 将参数添加到新数组的末尾

d) 重新分配实例变量“values”,使其指向新数组。

这是我的尝试。没有错误,但我觉得这是不正确的,尤其是我尝试将数字添加到 anotherArray 末尾的部分。我指的参数是“number”,一个int

public void add(int number) {
int[] anotherArray;
int newLength = values.length + 1;

anotherArray = new int[newLength];

for (int i = 0; i <values.length; i++)
values[i] = anotherArray[i];

for (int i = 0; i < anotherArray[i]; i++)
anotherArray[i] += number;



values = new int[anotherArray.length];
}

最佳答案

首先,您的作业是倒过来的。应该是这样的:

for (int i = 0; i < values.length; i++)
anotherArray[i] = values[i];

这会将 分配给 anotherArray。其次,您想在 anotherArray设置新值,如下所示:

anotherArray[newLength - 1] = number;

最后,

values = anotherArray;

这是使用 System.arraycopy 编写该代码的另一种方法:

public void add(int number) {
int[] anotherArray = new int[values.length + 1];
System.arraycopy(values, 0, anotherArray, 0, values.length);
anotherArray[values.length] = number;
values = anotherArray;
}

关于java - 如何将参数添加到数组的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5574204/

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