📄 supply.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Supply extends Applet implements Runnable{
//设定初始的金额为0
int money=0;
TextArea give,get;
//声明两个线程,一个用来寄钱,一个用来花钱
Thread mum,son;
public void init(){
//创建两个线程:mum、son
mum=new Thread(this);
son=new Thread(this);
//设定小应用程序的布局为GridLayout
setLayout(new GridLayout(1,2));
give=new TextArea(20,100);
get=new TextArea(20,100);
//向程序添加组件
add(give);
add(get);
}
public void start() {
//线程开始执行
mum.start();
son.start();
}
public void run(){
//当时的线程在两者之间
if(Thread.currentThread()==mum||Thread.currentThread()==son) {
for(int i=0;i<12;i++) {
//执行方法trans
trans(1000);
}
}
}
public synchronized void trans(int giveMoney) {
//如果当前的线程为寄钱的
if(Thread.currentThread()==mum){
for(int i=1;i<=2;i++){
//将金额相加
money=money+giveMoney;
try {
//使线程休眠
Thread.sleep(1000);
} catch(InterruptedException e){
System.out.print(e);
}
//输出寄去的金额
give.append("\n"+"孩子总共还有"+money+"元");
}
}
//如果当前的线程为花钱的
else if(Thread.currentThread()==son){
for(int i=1;i<=4;i++){
//使金额减少
money=money-400;
try {
//线程休眠
Thread.sleep(1000);
} catch(InterruptedException e){
System.out.print(e);
}
//输出余额
get.append("\n"+"孩子总共还有"+money+"元");
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -