import java.text.*;
class ATMAccount{
public static void main(String[]args){
SavingAccount saving=new SavingAccount(12345,53100); //12345=àÅ¢·ÕèºÑªÕ
ATM westBranch=new ATM(saving); //53100 =¨Ó¹Ç¹à§Ô¹·ÕèÁÕÍÂÙè
ATM eastBranch=new ATM(saving);
westBranch.setName("husband");
eastBranch.setName("wife");
westBranch.start();
eastBranch.start();
}
}
class SavingAccount{
protected int account;
protected int balance;
NumberFormat formatter;
SavingAccount(int accountNum, int initial){
account=accountNum;
balance=initial;
formatter=NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(2);
}
synchronized boolean withdraw(int amount){
boolean result=false;
System.out.println("Your account"+account);
System.out.println("Withdraw money"+formatter.format(amount));
if(amount<=balance){
balance-=amount;
System.out.println("Balance"+formatter.format(balance));
result=true;
}else {
System.out.println("Not enough money");
}
System.out.println();
return result;
}
}
class ATM extends Thread{
SavingAccount account;
ATM(SavingAccount saving){
account = saving;
}
public void run(){
System.out.println("Withdraw by:"+getName());
account.withdraw(30000);
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น