java一个按钮重复调用,按一次执行代码一次,按第二次,它执行两次,按第三次,执行了三次。。。

java一个按钮重复调用,按一次执行代码一次,按第二次,它执行两次,按第三次,执行了三次。。。,第1张

这个问题是因为你的按钮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语句转到前面重新执行。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10166190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存