作为一个粉丝番茄工作法 http://www.pomodorotechnique.com/我正在为自己制作一个倒计时器,以保证我完成作业。然而,这个特定的项目不是家庭作业。 :)
Stack 有很多关于使用计时器来控制用户输入之前的延迟等问题,但关于独立计时器的问题并不多。我从一位朋友那里看到了这段代码,并研究了 Java 文档中的课程。
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;
}
}
有一些语法我不清楚。考虑:
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
System.out.println(setInterval());
}
}, delay, period);
我不明白括号和大括号是如何工作的。乍一看,鉴于使用scheduleAtFixedRate(TimerTask task, long delay, long period)
我可以看到delay
and period
参数,但第一个参数前面不是左括号。
我的第一个参数实际上是整个代码块吗?我希望整个块都被括号包围......但事实并非如此。这是java中常见的语法吗?我以前从未遇到过它。
新的定时器任务()
{
公共无效运行()
{
System.out.println(setInterval());
}
}
在我开始考虑改变之前,我只是想澄清一下我理解它。