问题描述
packagejichu.shiyi12;importjava.awt.*;publicclassExample11_12{publicstaticvoidmain(Stringargs[]){newMyFrame();}}classMyFrameextendsJFrameimplementsRunnable,ActionListener{/****/privatestaticfinallongserialVersionUID=1L;售票员王小姐;Thread张平,李明;staticJTextAreatext;JButtonstartBuy=newJButton("开始买票");MyFrame(){王小姐=new售票员();张平=newThread(this);李明=newThread(this);text=newJTextArea(10,30);startBuy.addActionListener(this);add(text,BorderLayout.CENTER);add(startBuy,BorderLayout.NORTH);setVisible(true);setSize(360,300);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}publicvoidactionPerformed(ActionEvente){try{张平.start();李明.start();}catch(Exceptionexp){}}publicvoidrun(){if(Thread.currentThread()==张平){王小姐.售票规则(20);}elseif(Thread.currentThread()==李明){王小姐.售票规则(5);}}}class售票员{int五元钱的个数=2,十元钱的个数=0,二十元钱的个数=0;Strings=null;publicsynchronizedvoid售票规则(intmoney){if(money==5)//如果使用该方法的线程传递的参数是5,就不用等待{五元钱的个数=五元钱的个数+1;s="给您入场卷您的钱正好";MyFrame.text.append("n"+s);}elseif(money==20){while(五元钱的个数<3){try{wait();//如果使用该方法的线程传递的参数是20须等待}catch(InterruptedExceptione){}}五元钱的个数=五元钱的个数-3;二十元钱的个数=二十元钱的个数+1;s="给您入场卷"+"您给我20,找您15元";MyFrame.text.append("n"+s);}notifyAll();}}
解决方案
解决方案二:
大哥,你非要用中文定义吗?不乱啊你的问题估计是字符集编码的问题!
解决方案三:
dos进入jichu.shiyi12,再运行