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;
}
}
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;
}
}
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
气死我了。
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);
}
}
上面的贴错了,贴重复了,是这个才对
public void setBalance(int balance) {
this.balance=balance;
}