如何在x毫秒内打印行并在前一行后打印x毫秒?
我正试图在控制台中制作一个'Lyric Video'。我尝试过使用
t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 1000);
但它每隔一秒打印一次。
我试过谷歌,但我似乎无法说出正确的话。
答案 0 :(得分:3)
下面:
t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 1000);
1000表示执行该定时任务时的毫秒数。
或者更准确地说:期间 - 连续任务执行之间的时间(以毫秒为单位)。
所以:只需将其更改为x
值。
真实在这里回答:不要盲目地使用你在某处找到的API。如有疑问,请转到javadoc并阅读您正在调用的方法,例如schedule()。在那里你会发现我上面引用的信息!
关于你的后续问题:再次;转到 Timer 类的javadoc。该类必须使用方法cancel()
和purge()
,以防止将来执行。
换句话说:
因此,当您想在10秒后停止时,您可以执行以下操作:
t.schedule(new TimerTask(){public void run(){ t.cancel();}}, 10
1000);
答案 1 :(得分:0)
尝试将1000
更改为您想要的毫秒数。这1000
表示您正在等待的第二个。如果它是一个选项,你也可以尝试Thread.sleep()函数。
记住传递给该函数的值是以毫秒为单位。
希望它有所帮助! 最好的问候:)
答案 2 :(得分:0)
代码中的值1000
实际上是毫秒值。
t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 1000);
您可以根据自己的要求进行更改。如果您想等待5秒钟,可以将其更改为5 * 1000 = 5000
。
t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 5000);