Теперь я использую java для создания программы Timer. Но проблема в том ... Я хочу добавить опцию паузы в свою программу, но не могу найти Как добавить опцию паузы ... Итак, дайте мне несколько советов о том, как вставить опцию паузы ..
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 ответ
Я предполагаю, что вы хотите дать пользователю возможность ввести что-то и остановить обратный отсчет. Проблема (я думаю) в том, что если вы запросите ввод, это заблокирует текущий поток выполнения, поэтому ваш таймер зависнет.
Чтобы решить эту проблему, вам потребуется некоторая форма асинхронного выполнения. Возможно, вы захотите взглянуть на Таймер : вы можете использовать это, чтобы запланировать обратный вызов, который будет происходить каждую секунду. Эта функция обратного вызова может напечатать следующее число в последовательности обратного отсчета, в то время как ваш основной поток ожидает ввода пользователя и отменяет таймер, если пользователь вводит pause
.
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].