Dekrementacja pewnej liczby co 1 sekundę

0

W jaki sposób w Javie napisać program, który będzie dekrementował jakąś dowolną liczbę po upływie jednej sekundy i wypisywał ją na ekranie? Ja napisałem to w taki sposób:

public class Licz {

    public static void main(String[] args) {

        int a = 60;

        for (int i = 0; i <= a; i++) {
            try {
                if (a > 0) {
                    System.out.println(a--);
                } else {
                    System.out.println("Koniec");
                }

                Thread.sleep(1000);

            } catch (InterruptedException ex) {

            }
        }
    }
}

Działa poprawnie, ale chciałbym żeby był napisany bez użycia Thread. Proszę o pomoc, bo nie mam pomysłu jak się za to zabrać.

2

Naturalnym rozwiązaniem jest Timer. Skorzystałem z klasy wewnętrznej, dlatego zmienna a stała się polem klasy.

import java.util.*;

public class Licz 
{
    static int a = 60;
    public static void main(String[] args) 
    {
 
        Timer timer = new Timer();
        timer.schedule(new TimerTask()
        {
            public void run()
            {
                if(a>0)
                {
                    System.out.println(a--);
                }
                else
                {
                    System.out.println("Koniec");
                    System.exit(0);
                }
            }
        },0,1000);
    }
}
1

    try{
                        TimeUnit.SECONDS.sleep(1);
                    }
catch (InterruptedException e){

                    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1