자바에서 System.console() 메소드를 사용해서 어떻게 입력을 받을 수 있나요?
조회수 3011회
Console 클래스를 사용해서 사용자로부터 입력을 받고자 합니다. 그런데 System.console()
메소드를 호출하면 null 객체가 반환됩니다. System.console()을 사용하기 전에 뭔가를 바꿔야 하나요?
Console co=System.console();
System.out.println(co);
try{
String s=co.readLine();
}
1 답변
-
IDE를 통한 입력이 아닌 콘솔에서 사용자 입력을 받기 위해서 Console을 다음과 같이 사용하시면 됩니다.
System.out.print("Enter something:"); String input = System.console().readLine();
어디서든 동작하는 다른 방법을 고민한다면:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter String"); String s = br.readLine(); System.out.print("Enter Integer:"); try{ int i = Integer.parseInt(br.readLine()); }catch(NumberFormatException nfe){ System.err.println("Invalid Format!"); } } }
System.console()은 IDE에서 입력을 넣으면 null을 반환합니다
그래도 System.console()를 정말로 사용하기 원한다면 이 방법을 읽어보세요.
댓글 입력