2012-06-28 2 views
1

Есть ли способ обработки только одного charater в java с помощью простой программы?Как обрабатывать только один charater как и когда пользователь вводит его на консоль в java

Я должен попросить пользователя ввести charater, когда пользователь вводит символ, моя программа java должна обработать его до того, как пользователь вводит следующий символ, и должен немедленно дать ответ пользователю на введенный символ. Я пробовал это

public class InputChar { 
    public static void main(String args[]) { 
     System.out.printf("Enter Char ==> "); 
     try { 
      char temp = (char) System.in.read(); 

      System.out.printf("You Entered: " + temp + "\n"); 
     } catch (Exception exe) { 
      exe.printStackTrace(); 
     } 
    } 
} 

, но до сих пор в указанной выше программе каждый раз, когда пользователь вводит символ он не печатает символ правой away.In вышеуказанной программы, когда пользователь нажимает клавишу «Enter» ключ, то только программные процессы, что он имеет entered.Is там все равно без нажатия клавиши «Ввод», чтобы обработать только первый введенный пользователем вход charator.

+1

искали ли вы? http://stackoverflow.com/questions/1066318/how-to-read-a-single-char-from-the-console-in-java-as-the-user-types-it. Это второй результат в google для «console without enter java» – cklab

+0

Я думаю, что вы ищете [Key Listener] (http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html). Но, к сожалению, я не знаю, может ли этот прослушиватель работать в консоли. Вы пытаетесь сделать функцию 'auto-complete'? – Crazenezz

+0

Я уже искал этот вопрос, но не смог получить простую функцию java, которая принимает символ от пользователя, такого как getch(), на языке C –

ответ

0

Если переменная, объявленная как char, она содержит только один символ. Оставшийся символ будет отброшен, даже если пользователь будет введен.

Я думаю, что это невозможно в консоли. Please refer this link

1

Первый System.in.read() получает входные данные от пользователя. Это позволяет пользователю вводить любое количество символов.

Затем вы конвертируете его в char. Поэтому он берет только первого персонажа.

Когда вы нажимаете кнопку «Ввод», вход будет вводиться только в процессе.

Так что, когда вы нажимаете клавишу ввода, обрабатывается следующая строка.

Хотя, если вы хотите иметь еще что «Введите ключ процесса», не применяются некоторые условия, когда вы получаете информацию от пользователя

+0

Я не должен ждать, пока пользователь нажмет клавишу Enter. Мне нужно обработать символ, пока пользователь вводит простую функцию java. Это возможно? –

+1

Я думаю Это возможно только с GUI. –

Смежные вопросы