Wie die write-Methode ausführt, wenn der Benutzer drückt nur Enter?
Möchte ich schreiben Unendlichkeit while-Anweisung, die ausgeführt werden wird, jedes mal wenn der user gerade drückt Enter
. Jeder stream-Leser weiß ich ausführen, wenn der Benutzer enteres etwas in die Konsole oder Pressen Enter
zweimal.
Möchte ich etwas schreiben wie dieses:
Konsole:
Ausgang 1 [enter gedrückt wurden onse]
Ausgang 2 [enter gedrückt wurden onse]
Ausgabe 3 [enter gedrückt wurden onse]
[so...]
Dies ist mein Aktueller code:
addQuestionsInArray();
Random r = new Random();
DataInputStream is = new DataInputStream(System.in);
while (true) {
String question = questionsList.get(r.nextInt(questionsList.size()));
System.out.println(question);
if (String.valueOf(is.readInt()).equals("0")) {
break;
}
}
- Können Sie uns zeigen, was du geschrieben hast mit einem normalen stream reader und warum es nicht funktioniert?
- Ein Stück code, Was du getan hast, wird helfen, zu beantworten.
- Benutzer Eingabe ist text, DataInputStream zum Lesen binärer Daten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warten, bis der Benutzer die enter-Taste drücken, normalerweise mache ich so etwas wie
Demo:
Ausgabe:
Bezüglich Ihrer Bearbeiten, die ich noch schlage vor, Sie verwenden eine
Scanner
. (DataInputStream
sollte verwendet werden, für binäre Daten, keine Zeichenfolgen und Zeichen geschriebenSystem.in
):Enter
Charakter.Können Sie definieren eine
Thread
dass mit legen Sie das timing-Intervall überprüfen von Benutzereingaben mitSystem.in.read()
Aussage und wenn gleich mitEnter character /n/r
kündigen HauptschleifeWürden Sie suchen für eine action listener in diesem Fall.
Hier eine andere Frage ALSO, dass action-Listener-Adressen und die enter-Taste.