gpt4 book ai didi

java - 让两个计时器工作并在应该的时候结束?

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

我想创建一个计时器,我可以创建一个运行实例。我在这段代码的末尾创建了这个。我想要做的是能够启动每个计时器并让它们同时运行,但当一个计时器完成时,另一个计时器应该继续。

此代码有效,但计时器都继续运行。我该如何更改它,以便当一个计时器结束时它不会重置,然后第二个计时器结束时一切都会停止。

也许我应该使用线程?不确定这个吗?也许每个计时器都可以链接到一个线程。

代码(程序):

import java.awt.Toolkit;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JOptionPane;

public class DDHTypeCasting {
public static void main(String[] args) {
AnnoyingBeep y1 = new AnnoyingBeep(5,"Timer 1");
AnnoyingBeep y2 = new AnnoyingBeep(10,"Timer 2");
System.out.format("Task scheduled.%n");
}
}

class AnnoyingBeep {
Timer timer;

public AnnoyingBeep() { }

public AnnoyingBeep(int a, String s) {
timer = new Timer();
timer.schedule(new RemindTask(a,s),a,1*1000); //delay
}
}

class RemindTask extends TimerTask {
Toolkit toolkit;
int numWarningBeeps = 0;
String myString = null;

RemindTask(int a, String s) {
numWarningBeeps = a;
myString = s;
}

public void run() {
if (numWarningBeeps > 0) {
System.out.format("Beep!%n " + myString);
numWarningBeeps--;
} else {
System.out.format("Time's up!%n " + myString);
// System.exit(0);
}
}
}

最佳答案

我认为你需要实现Runnable接口(interface)并像Thread一样使用它:

public class ThreadTimer extends Timer implements Runnable {
public void run() {

}
}

关于java - 让两个计时器工作并在应该的时候结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755557/

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