Java 按钮连续显示按下状态,可';不要显示结果
下面是我的action类,程序可以运行,但有时当您按下按钮时,它会持续显示按下的状态,并且结果不能显示在Java 按钮连续显示按下状态,可';不要显示结果,java,events,jbutton,Java,Events,Jbutton,下面是我的action类,程序可以运行,但有时当您按下按钮时,它会持续显示按下的状态,并且结果不能显示在JTextField public class SsqAction implements ActionListener{ String luckNum=""; private JTextField luckField; public SsqAction(JTextField luckField){ this.luckField=luckFie
JTextField
public class SsqAction implements ActionListener{
String luckNum="";
private JTextField luckField;
public SsqAction(JTextField luckField){
this.luckField=luckField;
}
public void actionPerformed(ActionEvent event){
int[] a={0,0,0,0,0,0,0};
int tag=0;
for(int k=0;k<6;){
double i=Math.random()*33;
int temp=(int)Math.ceil(i);
a[k]=temp;
for(int j=0;j<k;j++){
if(a[j]==a[k]){
tag=1;
break;
}
}
if(tag==0){
k++;
}
}
double j=Math.random()*16;
int b=(int)Math.ceil(j);
a[6]=b;
for(int i=0;i<7;i++){
luckNum=luckNum+a[i]+" ";
}
luckField.setText(luckNum);
}
}
公共类SsqAction实现ActionListener{
字符串luckNum=“”;
私有JTextField-luckField;
公共SsqAction(JTextField-luckField){
this.luckField=luckField;
}
已执行的公共无效操作(操作事件){
int[]a={0,0,0,0,0,0};
int tag=0;
for(int k=0;k在for循环中
for(int k=0;k<6;)
但是,tag
可能在此处设置为1
:
if(a[j]==a[k]){
tag=1;
break;
}
(break
中断内部循环,而不是外部循环)
现在,tag
永远是1
,而k
永远不会递增→ 无限循环
提示:使用调试器,他是你最好的朋友。在for循环中
for(int k=0;k<6;)
但是,tag
可能在此处设置为1
:
if(a[j]==a[k]){
tag=1;
break;
}
(break
中断内部循环,而不是外部循环)
现在,tag
永远是1
,而k
永远不会递增→ 无限循环
提示:使用调试器,他是您最好的朋友。您发布的代码不会导致您描述的问题。请发布一个SSCCE,或仅发布其余代码。您可能有一个无限循环()(int k=0;k您发布的代码无法导致您描述的问题。请发布SSCCE,或仅发布其余代码。您可能有一个无限循环()(int k=0;kThank you@Maroun,我将我的程序与你的答案进行了更正。我将赋值语句“int tag=1”放在顶部循环中,它起作用了。谢谢!谢谢@Maroun,我将我的程序与你的答案进行了更正。我将赋值语句“int tag=1”放在顶部循环中,它起作用了。谢谢