Я беру начальный класс Java и работаю в лаборатории Wallet.Метод переноса кошелька в Java
Мне нужно перенести содержимое кошелька одного кошелька (бумажник-донор) в конец другого (получателя кошелька).
Я верю, что мои конструкторы настроены правильно.
import.java.util.Arrays;
public class Wallet
{
private static final int MAX = 10; //Max possible # of banknotes in a wallet
// instance variables
private int contents[]; //array of banknotes
private int count; //number of banknotes stored in contents[]
/**
* Default constructor for objects of class Wallet
*/
public Wallet()
{
// initialize instance variables
contents = new int[MAX];
count = 0;
}
/**
* Overloaded constructor for objects of class Wallet
*/
public Wallet(int a[])
{
contents = new int[MAX];
for (int i = 0; i<a.length; i++)
{
contents=a;
if (contents[i] > 0)
count++;
}
}
но нужна помощь проверки, если ниже добавить() метод, который я написал правильно:
public void add(int banknote)//Not sure if this is right
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i<contents.length; i++)
sb.append(contents[i] + ", ");
sb.append(banknote);
count++;
}
или это должно быть:
contents[count] = banknote;
count++;
мне нужно передать содержимое кошелек-донор в кошелек-получатель, опорожняющий кошелек-донор и добавляющий в приемник, я написал код ниже, но он выглядит неработоспособным и не работает правильно:
public void transfer(Wallet donor)
{
for(int i = 0; i < count; i++)
{
add(donor.contents[i]);
count++;
}
donor.count=0;
}
какие-либо указания о том, где я мог бы получать это неправильно, были на это в течение нескольких часов now..thanks
'содержимое [contents.length] = примечание;' всегда будет выдавать ошибку индекса! – schwobaseggl
Действительно. Я бы рекомендовал, чтобы он использовал список, это упростило бы его жизнь намного больше. – Sneling
@schwobaseggl Я отредактировал код соответственно, показывая, как это резко сократит объем работы, которую он должен выполнить. Однако ваш ответ все еще здесь, если он хочет сохранить массив. – Sneling