有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

计时器如何在java中设置暂停选项

现在我正在使用java创建计时器程序。 但问题是。。 我想在程序中添加暂停选项,但找不到如何添加暂停选项。。 因此,请给我一些关于如何插入暂停选项的建议

import java.util.Scanner;
public class HelloWorld {
    public static void main(String[] args) throws InterruptedException {
        Scanner sc = new Scanner(System.in);
        System.out.println("Please enter Minutes : ");
        int min = sc.nextInt();
        long sec = min * 60;
        for(long i = sec; i >= 0; i--) {
            if(i % 30 == 0) {
                System.out.println(i/60 + " min" + i%60 + " sec");
            }
            Thread.sleep(1000);
        }
        System.out.println("Timer is over..");
    }
}

共 (1) 个答案

  1. # 1 楼答案

    我假设你想给用户一个选项,让他们输入一些东西,让倒计时暂停。问题是(我认为)如果你请求输入,那么这将阻塞当前的执行线程,因此你的计时器将冻结

    要解决这个问题,您需要某种形式的异步执行。您可能想看看Timer:您可以使用它来安排每秒发生一次回调。此回调函数可以打印倒计时序列中的下一个数字,而主线程等待用户输入,如果用户键入pause,则取消计时器