java中来自系统的时间输入
我想显示10秒的倒计时。比如10-9-8-7。。。用java从系统中抽出时间。我怎样才能做到呢?你能给我它的源代码吗?从10到1递减的for循环的组合,应该适合你的需要。试试这个java中来自系统的时间输入,java,constructor,Java,Constructor,我想显示10秒的倒计时。比如10-9-8-7。。。用java从系统中抽出时间。我怎样才能做到呢?你能给我它的源代码吗?从10到1递减的for循环的组合,应该适合你的需要。试试这个 import java.util.Scanner; import java.util.Timer; import java.util.TimerTask; public class TimeCal { static int interval; static Timer timer; public static v
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;
}
}
您可以利用的方法,该方法采用初始延迟和任务应运行的周期
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);
请访问此页面的常见问题解答。翻译为:“你能帮我做吗,这样我就不必做任何事情了?”Threadsleep不能保证应用程序会按照你作为参数提供的毫秒数真正休眠。请参阅您发布的文档:取决于系统计时器和调度程序的精度和准确性。@LuiggiMendoza这是真的,但就本任务而言,它应该足够准确。为什么每个人都使用带空构造函数的计时器?您可以在构造函数中同时指定delay和Runnable。编辑:哦,等等,哪个计时器?还是摇摆?我更喜欢荡秋千。