gpt4 book ai didi

java - 计时器不会因 if else 而停止

转载 作者:行者123 更新时间:2023-12-01 23:24:49 24 4
gpt4 key购买 nike

public static void randomN () {
int requestTime = 2;
if(requestTime > 0) {
requestTime--;
myTimer.scheduleAtFixedRate(new TimerTask() {
public void run() {
int randomx = (int) (Math.random()*6+1);
int randomy = (int) (Math.random()*6+1);
System.out.println("Requests" + "X : " + randomx + " Y: " + randomy);
}
}, 0, 1000);
} else {
myTimer.cancel();
myTimer.purge();
}
}

我希望我的计时器在 public void run() { ... } 内执行任务,并每秒执行一次,持续 2 秒。但这段代码无法正常工作。

最佳答案

在此代码中:

public static void randomN () {
int requestTime = 2;
if(requestTime > 0) { //..

无论您调用该方法多少次,在 if 语句时您的 requestTime 将始终为 2。我猜你想要

static int requestTime = 2;
public static void randomN () {
if(requestTime > 0) { //..

关于java - 计时器不会因 if else 而停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com