2016-11-01 9 views
2

Я смотрю повсюду и не могу найти ответ или подсказку к моей проблеме. Я уверен, что это, вероятно, связано с массивами, передаваемыми по ссылке, и мне нужно скопировать элементы и передать их моей переменной экземпляра, но я просто не могу понять это.Атрибут экземпляра массива должен быть инициализирован в ctor(), должен иметь элементы массива a [], переданный из основного

Просто сохранить вещи просто Мы создаем класс Кошелька, который представляет собой кошелек, который может содержать до 10 счетов. Нам специально говорят не использовать списки массивов и работать с массивами. Wallet имеет две переменные экземпляра, но только один у меня есть проблемы, на этот один

private int contents[ ]; 

мой основной создает новый объект Wallet с помощью следующих вызовов

int a[ ] = {100, 50, 20, 1}; 

Wallet myWallet = new Wallet(a); 

в моем конструктор, я должен выделять память для переменной содержимого [], а затем захватывать элементы из [] и размещать их внутри массива содержимого.

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?

ответ

0

Вы можете использовать Arrays.copyOf(int[], int) и что-то вроде

public Wallet(int[] a) { 
    System.out.println("Constructor #2 called."); 
    this.contents = Arrays.copyOf(a, 10); 
} 
Смежные вопросы