學習Java13

class BankAccount{
	private int balance=100;
	public int getBalance(){
		return balance;
		}
	public void withdraw(int amount){
		balance=balance-amount;
		}
	}
	

public class RyanAndMonicaJob implements Runnable{
		private BankAccount account=new BankAccount();
		public static void main(String [] args){
			RyanAndMonicaJob theJob=new RyanAndMonicaJob();
			Thread one = new Thread(theJob);
			Thread two = new Thread(theJob);
			one.setName("Ryan");
			two.setName("Monica");
			one.start();
			two.start();
		}
		public void run(){
			for (int x=0;x<10;x++){
			makeWithdraw1(10);
			if(account.getBalance()<0){
				System.out.println("OverDrawn!");
				}
			 }
			}
	
private void makeWithdraw1(int amount){
	if(account.getBalance() >= amount){
		System.out.println(Thread.currentThread().getName()+"is about to withdraw!");
		try{
		System.out.println(Thread.currentThread().getName()+"is going to sleep");
		Thread.sleep(500);
		}catch(InterruptedException ex){ex.printStackTrace();}
		System.out.println(Thread.currentThread().getName()+"woke up");
		account.withdraw(amount);
		System.out.println(Thread.currentThread().getName()+"completes the withdraw");
		}
		else{
		System.out.println("Sorry ,not enough for"+Thread.currentThread().getName());
	}
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章