一个菜鸟问题,望高手解答下~
自己编写的一个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