วันศุกร์ที่ 23 มีนาคม พ.ศ. 2555

ATMAccount

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);
  }
 }

ไม่มีความคิดเห็น:

แสดงความคิดเห็น