如何在Java中制作倒数计时器[已关闭]
我是编程的初学者(学生),被指派创建一个游戏。我正在制作的游戏叫做boggle。在这种情况下,玩家必须在给定的时间内在随机的信板中找到单词,但我在创建计时器时遇到了麻烦。这是我的计时器应该做的:
- 时间的动态输入(设定时间)
- 从输入时间到 0 的倒计时
- 当 o => 跳出循环时
我需要知道的是如何让它倒计时。我不认为我需要一个ActionListener,因为它在创建类的那一刻就开始滴答作响。
任何帮助,建议,链接,朝着正确的方向前进都将被张开双臂接受。
我是编程的初学者(学生),被指派创建一个游戏。我正在制作的游戏叫做boggle。在这种情况下,玩家必须在给定的时间内在随机的信板中找到单词,但我在创建计时器时遇到了麻烦。这是我的计时器应该做的:
我需要知道的是如何让它倒计时。我不认为我需要一个ActionListener,因为它在创建类的那一刻就开始滴答作响。
任何帮助,建议,链接,朝着正确的方向前进都将被张开双臂接受。
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class Stopwatch {
static int interval;
static Timer timer;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Input seconds => : ");
String secs = sc.nextLine();
int delay = 1000;
int period = 1000;
timer = new Timer();
interval = Integer.parseInt(secs);
System.out.println(secs);
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println(setInterval());
}
}, delay, period);
}
private static final int setInterval() {
if (interval == 1)
timer.cancel();
return --interval;
}
}
试试这个。
您将看到人们使用 Timer 类来执行此操作。不幸的是,它并不总是准确的。最好的办法是在用户输入时获取系统时间,计算目标系统时间,并检查系统时间是否超过目标系统时间。如果有,则打破循环。