Javaでカウントダウンタイマーを実装する方法は何ですか?
Javaでは、java.util.Timerとjava.util.TimerTaskを使用して、カウントダウンタイマーを実装することができます。
以下は簡単な例です。
import java.util.Timer;
import java.util.TimerTask;
public class CountdownTimer {
private int seconds;
public CountdownTimer(int seconds) {
this.seconds = seconds;
}
public void start() {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
if (seconds > 0) {
System.out.println(seconds);
seconds--;
} else {
System.out.println("倒计时结束");
timer.cancel();
}
}
};
timer.scheduleAtFixedRate(task, 0, 1000); // 每隔1秒执行一次任务
}
public static void main(String[] args) {
CountdownTimer timer = new CountdownTimer(10); // 设置倒计时时间为10秒
timer.start();
}
}
上記のコードでは、まずCountdownTimerクラスを作成してカウントダウンタイマーを表し、このクラスにはカウントダウン秒数を格納するsecondsメンバ変数があります。start()メソッドはTimerオブジェクトを作成し、TimerTask匿名内部クラスを使用してカウントダウンごとに実行されるタスクを定義します。タスクのrun()メソッドでは、カウントダウンが0より大きいかどうかを判断し、真であれば現在のカウントダウン秒数を出力して秒数を減らし、偽であれば”カウントダウン終了”を出力してタイマーをキャンセルします。最後に、main()メソッドでCountdownTimerオブジェクトを作成し、start()メソッドを呼び出してカウントダウンを開始します。
このカウントダウンタイマーは、1秒ごとにタスクを実行し、現在のカウントダウン秒数を出力します。カウントダウンが終了するまで続きます。