如何在Java中制作倒数计时器[已关闭]

2022-09-01 16:52:30

我是编程的初学者(学生),被指派创建一个游戏。我正在制作的游戏叫做boggle。在这种情况下,玩家必须在给定的时间内在随机的信板中找到单词,但我在创建计时器时遇到了麻烦。这是我的计时器应该做的:


  • 时间的动态输入(设定时间)
  • 从输入时间到 0 的倒计时
  • 当 o => 跳出循环时

我需要知道的是如何让它倒计时。我不认为我需要一个ActionListener,因为它在创建类的那一刻就开始滴答作响。


任何帮助,建议,链接,朝着正确的方向前进都将被张开双臂接受。


答案 1
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;
}
}

试试这个。


答案 2

您将看到人们使用 Timer 类来执行此操作。不幸的是,它并不总是准确的。最好的办法是在用户输入时获取系统时间,计算目标系统时间,并检查系统时间是否超过目标系统时间。如果有,则打破循环。


推荐