2017-02-14 3 views
-1

Ich bin ein AP Informatik Student, der versucht, einen konsolenbasierten Texteditor zu schreiben. Mein Lehrer hat mir beigebracht, wie man Eingabe mit Scanner(System.in) liest, aber in einem Texteditor müssen Sie Eingaben direkt von der Tastatur erhalten. Wie bekomme ich Zugriff auf Tastenanschläge ohne mit der Scanner-Klasse oder eine ähnliche Parallele? Zum Beispiel BufferReader(new InputStreamReader(System.in))Wie bekomme ich Eingaben direkt von der Tastatur?

EDIT: Mein Punkt war, wie, ohne zu warten Benutzer lesen eingeben drücken

EDIT (sonst Benutzer konnten nicht Text in Echtzeit): Warum sagst du meine Frage ist ein Duplikat diese Frage? Ich habe explizit nach einer Methode gefragt, um Eingaben zu erhalten, ohne dass der Benutzer die Eingabetaste drücken muss. Die Antworten auf diese andere Frage lösen das überhaupt nicht auf!

+0

möglicherweise im Zusammenhang [? Ist es möglich, Text zu drucken, die vom Benutzer bearbeitet werden kann (für Konsolen-Programme)] (http://stackoverflow.com/questions/1552156/ist-es-ist-es-möglich, Text zu drucken, der von dem Benutzer für Konsolen-Programm bearbeitet werden kann, [Java: Wie kann ich die Konsolenausgabe ändern?] (http: // stackoverflow.com/questions/6704002/java-how-can-i-modify-console-output) – davedwards

+0

Wenn Sie Eingabe Zeichen für Zeichen lesen möchten, können Sie [diese Antwort] (http: // stackoverflow com/questions/1066318/how-to-a-single-char-from-the-console-in-java-as-the-user-types-it-lesen. Wenn Sie nach beliebigen Tastatureingaben (wie z. B. Pfeiltasten) suchen, müssen Sie wahrscheinlich zum JNI wechseln. –

+0

@ cricket_007 Es scheint, dass Null-Terminator die Konsole verwendet. –

Antwort

-1

Sie können diese verwenden:

System.out.print("Please enter your String :\t"); 
String sentence = scanner.nextLine(); 
+0

Haben Sie die Frage nicht gelesen? Ich sagte ausdrücklich, dass ich _scanner_ nicht verwenden möchte. –

Verwandte Themen