如何在 java 中设置暂停选项
How can i make pause option in 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..");
}
}
我假设您想让用户选择输入内容并导致倒计时暂停。问题(我认为)是如果你要求输入,那么这将阻止当前执行线程,因此你的计时器将冻结。
要解决这个问题,您需要某种形式的异步执行。您可能想看看 Timer:您可以使用它来安排每秒发生一次回调。此回调函数可以打印倒计时序列中的下一个数字,而您的主线程等待用户输入并在用户键入 pause
.
时取消计时器
现在我正在使用 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..");
}
}
我假设您想让用户选择输入内容并导致倒计时暂停。问题(我认为)是如果你要求输入,那么这将阻止当前执行线程,因此你的计时器将冻结。
要解决这个问题,您需要某种形式的异步执行。您可能想看看 Timer:您可以使用它来安排每秒发生一次回调。此回调函数可以打印倒计时序列中的下一个数字,而您的主线程等待用户输入并在用户键入 pause
.