import java.awt.*;
import java.applet.*;
import java.awt.event.*;class 售票员{
int 五元钱的个数=2,十元钱的个数=0,二十元钱的个数=0;
String s=null;
public synchronized void 售票规则(int money){
if(money==5){
五元钱的个数=五元钱的个数+1;
s="给您入场券 您的钱正好";
Sample19_8.text.append("\n"+s);
}
else if(money==20){
while(五元钱的个数<3){
try{
wait();
}
catch(InterruptedException e){
}
}
五元钱的个数=五元钱的个数-3;
二十元钱的个数=二十元钱的个数+1;
s="给您入场券"+" 您给我20,找您15元";
Sample19_8.text.append("\n"+s);
}
notifyAll();
}
}public class Sample19_8 extends Applet implements Runnable{
售票员 王小姐;
Thread 张平,李明;
static TextArea text;

public void init() {
张平=new Thread(this);
李明=new Thread(this);
text=new TextArea(10,30);
add(text);
王小姐=new 售票员();
}

public void start(){
张平.start();
李明.start();
}

public void run(){
if(Thread.currentThread()==张平){
王小姐.售票规则(20);
}
else if(Thread.currentThread()==张平){
王小姐.售票规则(5);
}
}
}
书上的例题,书上说结果会出:
给您入场券 您的钱正好
给你入场券 您给我20,找您15元但是我编译成功,却运行不出这个结果。