日期:2014-05-20  浏览次数:20652 次

一个菜鸟问题,望高手解答下~
自己编写的一个36选7小程序,但是通过编译后actionlistener却不执行,百思不得其解,望高手解答,谢谢!
import   java.awt.*;
import   java.awt.event.*;
public   class   Button123
{
public   static   void   main(String   args[])
{
new   Random36();
}
}
class   Random36   extends   Frame
{
Label   lab   =   new   Label( "点选取按钮选数字 ");
Button   btn   =   new   Button( "选取 ");
TextField   tex   =   new   TextField(30);
public   void   Random36()
{
setLayout(new   FlowLayout());
add(lab);
add(btn);
add(tex);
btn.addActionListener(new   btnActionListener());
setSize(300,100);
show();
}
public   class   btnActionListener   implements   ActionListener
{
public   void   actionPerformed(ActionEvent   e)
        {
        int   a[]   =   new   int[7];
        for   (int   i   =   0;   i <7;   i++)
        {
        one_num:
                while(true)
                {
                a[i]=(int)(Math.random()*36+1);
                for(int   j   =   0;j <7;j++)
                {
                if(a[i]==a[j])
                continue   one_num;
                }
                break;
                }
        }
        tex.setText(a[0]+ "   "+a[1]+ "   "+a[2]+ "   "+a[3]+ "   "+a[4]+ "   "+a[5]+ "   "+a[6]+ "祝君中奖 ");
        }
}
}

------解决方案--------------------
one_num:放到外层for循环

另外你的random32的构造方法是个void型?
------解决方案--------------------
我自己写代码也没有什么写注释的习惯
现在看到别人的,才知道看没有注释的代码是多痛苦的事情。
------解决方案--------------------
类似此类问题我同学曾经做过

------解决方案--------------------
mark