G
Gast
Gast
So, ich habe meine ersten Schritte in Java getan und brauechte Hilfe bei einem kleinen Problem.
Eigentlich habe ich schon etwas laenger Erfahrung mit Java, allerdings habe ich den Schritt eher andersrum gemacht als ueblich, daher: Von der grafischen "Applet" oder "Frame"-Programmierung zur textbasierten Kommandozeile.
Mein Problem ist das folgende:
Ich will das Programm dazu bringen kurzzeitig zu pausieren, wobei ich keine Threads verwende, sondern nur die statische Methode sleep().
Gleichzeitig sollen Eingaben ueber einen BufferedReader verarbeitet werden. Ist das Programm nun angehalten, ist es allerdings weiterhin moeglich Eingaben zu machen :!:
Vereinfacht sieht das ganze so aus:
Wird das Programm auf diese weise wirklich komplett angehalten oder wartet es nur mit der Ausgabe der nachsten Zeile, der Rest wird jedoch weiterhin ausgefuert ?? ???:L
Gibt es irgendeine Moeglichkeit eine Eingabe zu verhindern und sie spaeter wieder "freizugeben" ?
Natuerlich habe ich erstmal Ansaetze probiert wie, den BufferedReader mit r.close() zu schliessen.. (das scheint allerdings ueberhauptnichts damit zu tun zu haben
)
Was ich jedoch festgestellt habe: Existiert ueberhaupt keine Form eines Readers, ist eine Eingabe - auch waehrend einer sleep-Anweisung - nicht moeglich.
Ich hoffe jemand kann mir da weiterhelfen und ich bin mir fast sicher, dass die Loesung auf der Hand liegt, da dies sicher eine haufige Anfaengerfrage ist.. Leider hab ich nichts dazu gefunden
Auf jedenfall bedank ich mich schonmal fuer eure Hilfe!
Eigentlich habe ich schon etwas laenger Erfahrung mit Java, allerdings habe ich den Schritt eher andersrum gemacht als ueblich, daher: Von der grafischen "Applet" oder "Frame"-Programmierung zur textbasierten Kommandozeile.
Mein Problem ist das folgende:
Ich will das Programm dazu bringen kurzzeitig zu pausieren, wobei ich keine Threads verwende, sondern nur die statische Methode sleep().
Gleichzeitig sollen Eingaben ueber einen BufferedReader verarbeitet werden. Ist das Programm nun angehalten, ist es allerdings weiterhin moeglich Eingaben zu machen :!:
Vereinfacht sieht das ganze so aus:
Code:
BufferedReader r = new BufferedReader( new InputStreamReader(System.in) );
String text = r.readLine();
System.out.println(text);
try{Thread.sleep(2000);}
catch(InterruptedException e) {};
// Hier ist eine Eingabe moeglich
System.out.println("finished");
Wird das Programm auf diese weise wirklich komplett angehalten oder wartet es nur mit der Ausgabe der nachsten Zeile, der Rest wird jedoch weiterhin ausgefuert ?? ???:L
Gibt es irgendeine Moeglichkeit eine Eingabe zu verhindern und sie spaeter wieder "freizugeben" ?
Natuerlich habe ich erstmal Ansaetze probiert wie, den BufferedReader mit r.close() zu schliessen.. (das scheint allerdings ueberhauptnichts damit zu tun zu haben
Was ich jedoch festgestellt habe: Existiert ueberhaupt keine Form eines Readers, ist eine Eingabe - auch waehrend einer sleep-Anweisung - nicht moeglich.
Ich hoffe jemand kann mir da weiterhelfen und ich bin mir fast sicher, dass die Loesung auf der Hand liegt, da dies sicher eine haufige Anfaengerfrage ist.. Leider hab ich nichts dazu gefunden
Auf jedenfall bedank ich mich schonmal fuer eure Hilfe!