저는 처음 Java 수업을 듣고 있으며 월렛 실험실에서 일하고 있습니다.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++;
}
}
하지만, 아래 추가() 메소드가 내가 쓴 정확한지 확인하는 데 도움이 필요 : 나는 또한의 내용을 전송해야
contents[count] = banknote;
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++;
}
또는이 있어야한다 수신자 지갑에 기부자 지갑을 넣고 기증자 지갑을 비우고 수신기에 추가하면 아래 코드가 작성되었지만 제대로 작동하지 않는 것 같습니다 :
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