⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 banktest.java

📁 里面所含源码是本人平时做程序的一些实例
💻 JAVA
字号:
package notepad;
public class BankTest {
    public static void main(String[] args) throws InterruptedException {
	BlankSaving bs = new BlankSaving();
	Operater o1 = new Operater(bs, "husband");
	Operater o2 = new Operater(bs, "wife");
	Thread t1 = new Thread(o1);
	Thread t2 = new Thread(o2);
	t1.start();
	t2.start();
	//Thread.currentThread().sleep(500);
    }
}

class BlankSaving
// 储蓄账户
{
    private static int money = 1000;

    public void add(int i) {
	money = money + i;
	System.out.println("Husband 向银行存入了 [¥" + i + "]");
    }

    public void get(int i) {
	
	if (money < 0)
	    System.out.println("余额不足!");
	else{
	    money = money - i;
	    System.out.println("Wife 向银行取走了 [¥" + i + "]");
	}
    }

    public int showMoney() {
	return money;
    }
}

class Operater implements Runnable {
    String name;
    BlankSaving bs;

    public Operater(BlankSaving b, String s) {
	name = s;
	bs = b;
    }

    synchronized public static void oper(String name, BlankSaving bs) {
	if (name.equals("husband")) {
	    try {
		for (int i = 0; i < 10; i++) {
		    Thread.sleep((int) (Math.random() * 300));
		    bs.add(1000);
		    System.out.println("账户剩余:"+bs.showMoney());
		}
	    } catch (InterruptedException e) {
	    }
	} else {
	    try {
		for (int i = 0; i < 10; i++) {
		    Thread.sleep((int) (Math.random() * 300));
		    bs.get(1000);
		    System.out.println("账户剩余:"+bs.showMoney());
		}
	    } catch (InterruptedException e) {
	    }
	}
    }

    public void run() {
	oper(name, bs);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -