class Transaction {
public static final int DEBIT=0;
public static final int CREDIT=1;
public static String [] types={"Debit","Credit"};
private Account account;
private int amount;
private int transactionType; public Transaction (Account account,int transactionType,int amount) {
this.account=account;
this.amount=amount;
this.transactionType=transactionType;
} public Account getAccount() {
return account;
} public int getTransactionType() {
return transactionType;
} public int getAmount() {
return amount;
} public String toString() {
return types[transactionType]+" A//C: "+" : $"+amount;
}
}

解决方案 »

  1.   

    public class Account {
    private int balance;
    private int accountNumber; public Account(int balance,int accountNumber) {
    this.balance=balance;
    this.accountNumber=accountNumber;
    } public int getBalance() {
    return balance;
    } public void setBalance() {
    this.balance=balance;
    } public int getAccountNumber() {
    return this.accountNumber;
    }
    public String toString() {
    return "A//C NO. "+accountNumber+" : $"+balance;
    }
    }
    报错:
    Bank.java:29: setBalance() in Account cannot be applied to (int)
                    (transaction.getAccount()).setBalance(balance);
                    ^
    1 error
    气死我了。
      

  2.   

    class Bank {
    public void doTransaction(Transaction transaction) {
    int balance = transaction.getAccount().getBalance(); switch(transaction.getTransactionType()) {
    case Transaction.CREDIT:
    try {
    Thread.sleep(100);
    }
    catch (InterruptedException e) {
    System.out.println(e);
    }
    balance+=transaction.getAmount();
    break; case Transaction.DEBIT:
    try {
    Thread.sleep(150);
    }
    catch (InterruptedException e) {
    System.out.println(e);
    }
    balance-=transaction.getAmount();
    break;
    default:
    System.out.println("Invalid transaction");
    System.exit(1);
    }
    transaction.getAccount().setBalance(balance);
    }
    }
    上面的贴错了,贴重复了,是这个才对
      

  3.   

    对啊,你的setBalance()没有参数
    public void setBalance(int balance) {
    this.balance=balance;
    }