📄 banktest.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 + -