how to make a countdown timer in java

Vamala picture Vamala · Jan 18, 2013 · Viewed 204.5k times · Source

I'm a beginner(Student) in programming and was assigned to create a game. The game I'm making is called boggle. In which the player have to find words in a random letter board within a given time. but I'm having trouble with creating the timer. This is what it my timer should do:


  • dynamic input for the time (set time)
  • countdown from input time to 0
  • when o => jump out of loop

All i need to know is how to make it countdown. I don't think i need a ActionListener because it starts ticking the moment the class is created.


Any help, advice, links, push in the right direction will be accepted with open arms.

Answer

Achintya Jha picture Achintya Jha · Jan 18, 2013
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;

public class Stopwatch {
static int interval;
static Timer timer;

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Input seconds => : ");
    String secs = sc.nextLine();
    int delay = 1000;
    int period = 1000;
    timer = new Timer();
    interval = Integer.parseInt(secs);
    System.out.println(secs);
    timer.scheduleAtFixedRate(new TimerTask() {

        public void run() {
            System.out.println(setInterval());

        }
    }, delay, period);
}

private static final int setInterval() {
    if (interval == 1)
        timer.cancel();
    return --interval;
}
}

Try this.