2017-02-27 4 views
3

Wie kann ich Zeile x Millisekunde drucken und Wort x Millisekunde nach der vorherigen drucken?Zeitgesteuerte Druckzeile

Ich versuche, ein 'Lyric Video' in der Konsole zu machen. Ich habe versucht,

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

Verwendung Aber er druckt jede Sekunde Worte.

Ich habe Google versucht, aber ich kann nicht scheinen, die Wörter richtig zu verstehen.

+0

Danke für die schnelle Annahme! – GhostCat

Antwort

3

hier:

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

Das 1000 die Anzahl der Millisekunden gibt, wenn diese zeitlich Aufgabe ausgeführt wird.

Oder genauer: Zeitraum- Zeit in Millisekunden zwischen aufeinanderfolgenden Aufgaben Ausführungen.

Also: ändern Sie das nur zu Ihrem x Wert.

Und die real Antwort hier: nicht blind blind einige API verwenden Sie irgendwo finden. Im Zweifelsfall wende dich an das Javadoc und lies, was die Methoden tun, die du gerade machst, wie für schedule(). Da hättest du die oben zitierten Informationen gefunden!

In Bezug auf Ihre Follow-on-Fragen: wieder; Wenden Sie sich an den Javadoc für die Timer Klasse. Diese Klasse hat die Methoden cancel() und purge(), die Sie verwenden können, um zukünftige Ausführungen zu verhindern.

Mit anderen Worten:

  • Veränderung 1000 bis 5000 die Verzögerung zwischen Druckanweisungen zu ändern
  • wenn Sie nach einer bestimmten Iteration zu stoppen, nur um einig einen der oben genannten Methoden aufrufe Punkt.

Also, wenn Sie wollen nach 10 Sekunden zu stoppen, Sie so etwas wie tun könnte:

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

Es tut mir schrecklich leid, aber ich verstehe es nicht. Gibt es eine Möglichkeit, das Wort nach 5 Sekunden zu drucken und den Druckvorgang zu stoppen? – Furari

+0

Siehe meine aktualisierte Antwort; aber bitte verstehen: das ist * super basic * Zeug. Wenn Sie keine Dinge zum Laufen bringen - machen Sie Experimente und lesen Sie weiter. Sie lernen nicht programmieren, indem Sie andere Leute nach ** allen ** Details fragen. Und: Diese Website ist nicht dazu gedacht, Sie bei all Ihren Ideen zu unterstützen und mit Ihnen zu arbeiten. – GhostCat

+0

Vielen Dank für die Hilfe Herr! Ich werde es im Auge behalten, guter Herr. – Furari

0

Versuchen Sie Ihre 1000 Wechsel von Millisekunden betragen Sie wollen. Diese 1000 bedeutet die Sekunde, die Sie warten. Sie können auch die Funktion Thread.sleep() ausprobieren, wenn es eine Option ist. Beachten Sie, dass die an diese Funktion übergebenen Werte in Millisekunden angegeben sind.

Hoffe es hilft! Mit freundlichen Grüßen :)

0

Der Wert 1000 in Ihrem Code ist eigentlich ein Millisekundenwert.

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

Sie können es nach Ihren Anforderungen ändern. Wenn Sie beispielsweise 5 Sekunden warten möchten, können Sie sie in 5 * 1000 = 5000 ändern.

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