-4

我想显示10秒倒计时。就像10-9-8-7...从 Java 系统中抽出时间一样。我怎样才能实现它?你能给我它的源代码吗?

4

3 回答 3

1

递减for循环(从 10 到 1)的组合Thread.sleep应该适合您的需要。

于 2013-07-25T16:01:15.490 回答
1

您可以利用Timer'scheduleAtFixedRate方法,该方法采用初始值delayperiod应运行任务的方法

  final Timer t = new Timer();
  t.scheduleAtFixedRate(new TimerTask() {

        int i = 10;
        @Override
        public void run() {
            System.out.println(i);
            i--;
            if(i <= 0) {
                t.cancel();
            }
        }
    }, 1000, 1000);
于 2013-07-25T16:09:53.920 回答
0

尝试这个

import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;


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

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Input in seconds => : ");
    String secs = sc.nextLine();
    int delay = 1000;
    int period = 1000;
    timer = new java.util.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;
}
}
于 2013-07-25T16:09:47.197 回答