實驗四,課本上的一個代碼

class BankAccount{
	
	private static int amount = 2000;
	
	public void despoit(int m){
		amount = amount + m;
		System.out.println("小明存入["+m+"元]");
	}
	
	public void withdraw(int m){
		amount = amount - m ;
		System.out.println("張新取走["+m+"元]");
		if(amount<0)
			System.out.println("****餘額不足****");
	}
	
	public int balance(){
		return amount;
	}

}

class Customer extends Thread{
	
	String name;
	BankAccount bs;
	
	public Customer(BankAccount b,String s){
		name=s;
		bs=b;
	}
	
	public synchronized static void cus(String name, BankAccount bs){
		if(name.equals("小明")){
			try{
				for(int i = 0; i<6;i++){
					Thread.currentThread().sleep((int)(Math.random()*300));
					bs.despoit(1000);
				}
			}catch(InterruptedException e){
				
			}
		}else{
			try{
				for(int i = 0 ; i < 6 ; i++){
					Thread.currentThread().sleep((int)(Math.random()*300));
					bs.withdraw(1000);
				}
				
			
			}catch(InterruptedException e){
				
			}
		}
		
	}
	
	public void run(){
		cus(name,bs);
	}
}

public class AccountTest1 {

	/**
	 * @param args
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws InterruptedException {
		BankAccount bs = new BankAccount();
		Customer customer1 = new Customer(bs,"小明");
		Customer customer2 = new Customer(bs,"張新");
		Thread t1 = new Thread(customer1);
		Thread t2 = new Thread(customer2);
		t1.start();
		t2.start();
		Thread.currentThread().sleep(500);
		// TODO Auto-generated method stub

	}

}



表示  書上的一個代碼   毫無壓力的說

另外順便說明一下  這個星期三下午睡了好久   也就沒有敲代碼了,然後這個星期的更新就暫緩一會兒

然後最近一直在看數據結構,看了一兩張,表示,之前敲的代碼完全對不起JAVA這個面對對象編程語言啊

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