这个问题是因为你的按钮JButton对象是静态的导致。我也遇到过,把新建按钮对象语句前面的static修饰去掉即可。
因为static对象在内存里面只有它唯一一个,所以每次运行,相当于给同一个按钮多加一个actionListener。
//我给你改了,你运行试试
import javautil;
public class Grade {
public static void main(String[] arguments) {
int grade = 0;
while (true) {
Systemoutprintln("请输入你的成绩,输入886退出哦:");
Scanner reader = new Scanner(Systemin);
grade = readernextInt();
if (grade == 886)
break;
while (grade > 100) {
Systemoutprintln("成绩输入错误!请重新输入:");
reader = new Scanner(Systemin);
grade = readernextInt();
}
if (grade >= 90) {
Systemoutprintln("You got a 'A'! Great job,boy!");
} else if (grade >= 75) {
Systemoutprintln("You got a 'B'! Good work!");
} else if (grade >= 60) {
Systemout
println("You got a 'C'! You'll never get into a good college! ");
} else {
Systemout
println("You got a 'D'! You'll do well in Congress!");
}
}
}
}
用while语句可以实现
while(条件){
满足条件执行的语句
}
对题目要求来说,括号里的条件应该是"不满足的条件",如果不满足条件,那么执行里面的内容,直到满足为止
while(g<0){
r=Mathrandom();
Systemoutprintln("r="+r);
X[0][0]=a[0]+r(b[0]-a[0]);
X[0][1]=a[1]+r(b[1]-a[1]);
g=-X[0][0]-X[0][1]+16;
}
程序会重复运行,直到g>=0为止
目前我所知道的有两个方法方法一
java启动时调用的命令都是java,在windows上如果通过进程名称来判断程序是否启动时不可行的,因为可能存在多个调用java的程序,一种办法是将javaexe复制一份重命名,然后在启动脚本里使用这个新的exe即可。
最近发现还有一种办法,花了一点时间,通过批处理bat来完成,原理是使用文件占用与否做出判断。
运行java程序时将console推送到文件,这样这个文件就会被独占,此时删除、重命名等 *** 作是不允许的。
利用这个原理,java程序启动时先用bat的重命名ren命令将console文件重命名,如果失败则说明程序运行中,否则就可以启动(del命令无论删除成功与否都返回0,所以使用del是不行的),另外这样做的一个目的是不用在给用户做什么界面了,通过bat提示完成,同时系统运行起来后不显示黑窗口。
方法二
利用socket 启动查看端口是否被占用
推荐方法一 使用范围更广
你定义变量的时候应该定义为int整形,byte最大只能表示127,当xiaoji变量为127时不能继续自加,所以每次判断127<=300为符合条件,不断循环
public class feichangaini {
public static void main(String args[]){
int xiaoji;
int muji;
int gongji;
for(xiaoji=0;xiaoji<=300;xiaoji++){
for(muji=0;muji<=20;muji++){
for(gongji=0;gongji<=33;gongji++){
if((gongji+muji+xiaoji==100)&&(xiaoji/3+muji5+gongji3==100)){
Systemoutprintln("母 鸡:"+muji+"鸡:"+gongji+"鸡:"+xiaoji);
}else{
continue;
}
}
}
}
}
}
这个是很明了的事情啊。如果说Nt是一个全局变量,那么你在方法getNt1里面和第一个不同之处是把Nt换成了getNt,作用就是调用这个方法,调用这个方法就执行方法体里面的语句,和你直接使用Nt当然多运行了一次,其实是应该看你怎么使用这个变量。如果没猜错的话,你刚刚学习java,不过有C的编程经验。
在线程里使用循环,然后睡眠一段时间再执行。 或者使用 javautilTimer; javautilTimerTask; 来设置定时执行任务。
仅供参考
package comkiddtestzhidao;/
Hello world!
/
public class Main {
public static void main(String[] args) {
Seed seed = new Seed();
TestRunnable testRunnable = new TestRunnable(seed);
Thread thread = new Thread(testRunnable);
threadstart();
try {
Threadsleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
seedsetEnd(true);
}
}
class TestRunnable implements Runnable {
private Seed seed;
public TestRunnable(Seed seed) {
super();
thisseed = seed;
}
public Seed getSeed() {
return seed;
}
@Override
public void run() {
while (!seedisEnd()) {
Systemoutprintln("线程正在执行");
try {
Threadsleep(1000);
} catch (InterruptedException e) {
eprintStackTrace();
}
}
}
}
class Seed {
private boolean end;
public boolean isEnd() {
return end;
}
public void setEnd(boolean end) {
thisend = end;
}
}
以上就是关于java一个按钮重复调用,按一次执行代码一次,按第二次,它执行两次,按第三次,执行了三次。。。全部的内容,包括:java一个按钮重复调用,按一次执行代码一次,按第二次,它执行两次,按第三次,执行了三次。。。、java程序中命令不能重复执行~~~郁闷啊·~、让怎么让Java语句转到前面重新执行。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)