我到处找,找不到答案或提示我的问题。我确信它可能与数组通过引用传递有关,我必须可能复制元素并将它们传递给我的实例变量,但我只是无法弄清楚。
让事情变得简单我们创建了一个Wallet类,它代表一个最多可以容纳10张钞票的钱包。我们被明确告知不要使用数组列表,而要使用数组。钱包有两个实例变量,但我唯一有问题的是这个
private int contents[ ];
我的主程序通过以下调用创建新的钱包对象
int a[ ] = {100, 50, 20, 1};
Wallet myWallet = new Wallet(a);
在我的构造函数中,我必须为contents[]实例变量分配内存,然后从a[]中获取元素,并将它们放入contents数组中。
public Wallet(int a [ ])
System.out.println("Constructor #2 called.");
//allocate memory for contents[]
contents = new int[MAX] //supposed to be of size 10, given info
//initialize contents[] from a[]
卡在这里,我如何分配它们彼此?
如何将100,50,20,1复制到I = 0 - 3的内容,并重置元素= 0?
你可以用Arrays.copyOf(int[], int)
或者
public Wallet(int[] a) {
System.out.println("Constructor #2 called.");
this.contents = Arrays.copyOf(a, 10);
}