2012-06-28 2 views
1

간단한 프로그램을 사용하여 Java에서 단일 charater 만 처리하는 방법이 있습니까?단일 문자를 처리하는 방법 사용자가 Java 콘솔에서 입력 할 때

사용자가 문자를 입력 할 때 사용자에게 문자를 입력하도록 요청해야합니다. 사용자가 다음 문자를 입력하기 전에 내 Java 프로그램이 문자를 처리해야하고 입력 한 문자에 대해 사용자에게 즉각적인 응답을 제공해야합니다. 사용자 프레스 그는 어쨌든이 entered.Is을 가지고 어떤 프로그램 만 프로세스를 키 '를 입력'때 사용자가 바로 위의 프로그램 away.In 문자를 인쇄되지 않는 문자를 입력 할 때마다

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(); 
     } 
    } 
} 

하지만 여전히 위의 프로그램에서

사용자가 입력 한 첫 번째 문자 입력 만 처리하려면 'Enter'키를 누르지 않고 수행 할 수 있습니다.

+1

가 검색 한 적이 사용자로부터 입력을받을 때 몇 가지 조건을 적용 않는다 "핵심 프로세스를 입력합니다"고 여전히 갖고 싶어? http://stackoverflow.com/questions/1066318/how-to-read-a-single-char-from-the-console-in-java-as-the-user-types-it. "enter java without console"에 대한 Google의 두 번째 결과입니다. – cklab

+0

당신이 찾고있는 것이 [Key Listener] (http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html)라고 생각합니다. 그러나 불행히도이 리스너가 콘솔에서 작동 할 수 있는지 여부는 알 수 없습니다. '자동 완성 '기능과 같은 것을 만들고 싶습니까? – Crazenezz

+0

나는 그 질문을 이미 검색했지만 C 언어의 getch()와 같은 사용자의 문자를 받아들이는 간단한 자바 함수로는 나오지 않았다. –

답변

0

변수가 char으로 선언 된 경우 하나의 char 만 포함됩니다. 나머지 문자는 사용자가 입력 한 경우에도 삭제됩니다.

콘솔에서는 불가능합니다. Please refer this link

1

첫 번째 System.in.read()는 사용자로부터 입력을받습니다. 이것은 사용자가 임의의 수의 문자를 입력 할 수있게합니다.

그러면 char로 변환됩니다. 그래서 첫 번째 문자 만 사용합니다.

입력을 누르면 입력이 처리됩니다.

Enter 키를 누르면 다음 행이 처리됩니다.

비록 당신은 당신이

+0

사용자가 Enter 키를 누를 때까지 기다리지 않아야합니다. 사용자가 간단한 자바 기능을 통해 입력하는 동안 문자를 처리해야합니다. 이것이 가능할 수 있습니까? –

+1

GUI에서만 가능하다고 생각합니다. –

관련 문제