2017-02-27 39 views
3

如何在x毫秒內打印行並在前一行之後打印x毫秒?定時打印行

我想在控制檯上做一個'Lyric Video'。我已經使用

t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 1000);

嘗試,但它打印的話每一秒。

我試過谷歌,但我似乎無法得到正確的話。

+0

感謝您的快速接受! – GhostCat

回答

3

這裏:

t.schedule(new TimerTask(){public void run(){System.out.print("");}}, 0, 1000); 

這1000給人的毫秒數被執行定時任務時。

或更精確地說:時間段- 連續任務執行之間的時間(以毫秒爲單位)。

所以:只是改變你的x價值。

real答案在這裏:不要只是盲目地使用一些API,你找到的地方。如有疑問,請轉到javadoc並閱讀您正在調用的方法,例如schedule()。你會發現我上面引用的信息!

關於您的後續問題:再次;轉到javadoc爲定時器類。該類必須使用方法cancel()purge(),您可以使用它來防止將來執行。

換句話說:

  • 變化1000〜5000更改打印語句之間的延遲
  • ,如果你想停止某些迭代之後,只要確保調用上述方法中的一種,在一些
  • 點。

所以,當你想停止 10秒後,你可以這樣做:

t.schedule(new TimerTask(){public void run(){ t.cancel();}}, 10 
1000); 
+0

我非常抱歉,但我不明白。有沒有辦法在5秒後打印文字,然後停止打印? – Furari

+0

查看我更新的答案;但請理解:這是*超級基礎*的東西。如果你沒有把事情做好 - 做實驗,並不斷閱讀學習。您不要通過向其他人詢問所有**的細節來學習編程。而且:這個網站不是爲了牽着你,並且通過你的所有想法與你一起工作。 – GhostCat

+0

謝謝你的幫助先生!我會記住好的先生。 – Furari

0

試着改變你的1000達你想要毫秒。這1000意味着你正在等待的第二個。如果它是一個選項,你也可以嘗試Thread.sleep()函數。 記住傳遞給該函數的值以毫秒爲單位。

希望它有幫助! 此致敬意:)

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);