我想显示10
秒倒计时。就像10-9-8-7...
从 Java 系统中抽出时间一样。我怎样才能实现它?你能给我它的源代码吗?
问问题
56 次
3 回答
1
递减for
循环(从 10 到 1)的组合Thread.sleep
应该适合您的需要。
于 2013-07-25T16:01:15.490 回答
1
您可以利用Timer
'scheduleAtFixedRate
方法,该方法采用初始值delay
和period
应运行任务的方法
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 回答