2

我到处找,找不到问题的答案或提示。我确信它可能与通过引用传递的数组有关,我可能不得不复制元素并将它们传递给我的实例变量,但我就是想不通。

为了简单起见,我们创建了 Wallet 类,它代表一个最多可以容纳 10 张钞票的钱包。我们被特别告知不要使用数组列表并使用数组。钱包有两个实例变量,但我唯一有问题的是这个

private int contents[ ];

我的主要是通过以下调用创建新的 Wallet 对象

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?

4

1 回答 1

0

你可以使用Arrays.copyOf(int[], int)类似的东西

public Wallet(int[] a) {
    System.out.println("Constructor #2 called.");
    this.contents = Arrays.copyOf(a, 10);
}
于 2016-11-01T02:58:11.603 回答