2017-02-14 2 views
-1

Я студент AP Computer Science, который пытается написать текстовый редактор на основе консоли. Мой учитель научил меня читать ввод с использованием Scanner(System.in), но в текстовом редакторе вам нужно вводить ввод непосредственно с клавиатуры. Как получить доступ к нажатию клавиш без с использованием класса сканера или аналогичной параллели? Например, BufferReader(new InputStreamReader(System.in))Как я могу получить ввод непосредственно с клавиатуры?

EDIT: Моя точка была как читать, не дожидаясь пока пользователь не нажмет Enter (в противном случае пользователи не могут добавлять текст в режиме реального времени)

EDIT: Почему вы говорите, мой вопрос является дубликатом этот вопрос? Я явно попросил метод ввода ввода, не ожидая, что он будет нажат клавишу ввода. Ответы на этот другой вопрос вообще не решаются!

+0

, возможно, связано [? Можно ли напечатать текст, который может быть отредактирован пользователем (для консольных программ)] (http://stackoverflow.com/questions/1552156/is-it-possible-to-print-text-that-can-be-edit-by-the-user-for-console-program), [Java: как я могу изменить вывод консоли?] (http: // stackoverflow.com/questions/6704002/java-how-can-i-modify-console-output) – davedwards

+0

Если вы хотите читать вводные символы, вы можете использовать [этот ответ] (http: // stackoverflow .com/вопросы/1066318/как для чтения-а-одинарной полукокса-из-консоли-в-Java-как-в-пользовательских типов этого). Если вы ищете чтение произвольного ввода с клавиатуры (например, клавиши со стрелками), вам, вероятно, придется спуститься к JNI. –

+0

@ cricket_007 Похоже, что Null-Terminator использует консоль. –

ответ

-1

Вы можете использовать это:

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

Разве вы не читали вопрос? Я специально сказал, что я не хочу использовать сканер. –