2015-10-05 73 views
3

我一直在試圖建立一種方式來重新創建小寵物的「滾動案文」,其中一個字母出現的時間。問題是能夠創建足夠短的計時器以使其合理。Java的短暫延遲

這是我曾嘗試:

public static void roll(String text) { 
    int i = 0; 
    while(i < text.length()) { 
     try { 
      Thread.sleep(200);     //1000 milliseconds is one second. 
     } catch(InterruptedException ex) { 
      Thread.currentThread().interrupt(); 
     } 
    System.out.print(text.charAt(i)); 
    i++; 
    } 
} 

這將正常工作,如果我在的Thread.sleep將該值設置爲任何超過250的問題是,如果我設置低於250秒,然後它會等待在輸出任何東西之前,整個時間長度(如果我告訴它等待100毫秒100次,它將等待10秒鐘)。

林不知道這是否與計時器本身或者類型的問題沒有在這裏打球別的東西。

+0

@jonathon要花1秒或10秒爲100毫秒的10倍爲1000毫秒或1秒 –

+0

對不起,我的意思100ms的100次,每次10秒。 –

+0

@JonathonM它奇怪的,它只是工作得很好,我...... – nafas

回答

3

您可以使用System.out.flush();迫使緩衝地寫出來。

+0

我需要把這個放在哪裏?把它放在System.out.print(text.charAt(i))之後;沒有解決任何問題。另外我應該使用任何參數? –

+0

@JonathonM你如何運行應用程序?在諸如Netbeans之類的IDE中,還是在命令行中? – Kayaman

+0

使用NetBeans 8.0.2 –