Как сделать простой таймер на Java?

Пользователь

от nicola , в категории: Java , 3 года назад

Как сделать простой таймер на Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ian.heidenreich , 3 года назад

@nicola Чтобы сделать простой таймер на Java Вы можете использовать System.currentTimeMillis() метод в java и создать бесконечный цикл с задержкой в 1 секунду, посмотрите как работает просто пример таймпера на Java:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
long minutes = 0;
long hours = 0;
long now = System.currentTimeMillis();
while (true) {
    TimeUnit.SECONDS.sleep(1);
    long seconds = (System.currentTimeMillis() - now) / 1000;
    if (seconds == 60) {
        seconds = 0;
        minutes++;
        now = System.currentTimeMillis();
    }

    if (minutes == 60) {
        minutes = 0;
        hours++;
    }

    System.out.println("Часов: "+ hours+ " Минут:  "+minutes + " Секунд: "+seconds + " прошло.");
}


Пользователь

от lori_jast , 2 года назад

@nicola 

Для создания простого таймера на Java можно использовать класс Timer из библиотеки java.util.Timer. Ниже приведен пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.util.Timer;
import java.util.TimerTask;

public class SimpleTimer {
    public static void main(String[] args) {
        int delay = 5000; // 5 секунд
        Timer timer = new Timer();
        
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("Таймер закончил работу");
                timer.cancel();
            }
        }, delay);
        
        System.out.println("Таймер запущен на " + delay + " миллисекунд");
    }
}


В этом примере таймер запускается на 5 секунд и выводит сообщение в консоль после окончания работы. Метод schedule() позволяет запланировать задачу (TimerTask) на определенное время (delay). При запуске таймера также выводится сообщение о времени запуска. В методе run() задачи выполняется действие по окончанию работы таймера и отменяется дальнейшее выполнение задачи методом cancel().