자바에서 System.console() 메소드를 사용해서 어떻게 입력을 받을 수 있나요?
java
Console 클래스를 사용해서 사용자로부터 입력을 받고자 합니다. 그런데 System.console()
메소드를 호출하면 null 객체가 반환됩니다. System.console()을 사용하기 전에 뭔가를 바꿔야 하나요?
Console co=System.console();
System.out.println(co);
try{
String s=co.readLine();
}
-
2016년 05월 20일에 작성됨
조회수 866
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()를 정말로 사용하기 원한다면 이 방법을 읽어보세요.
-
2016년 05월 21일에 작성됨
출처: https://stackoverflow.com/questions/4644415 이 질문은 저작자표시-동일조건변경허락(https://creativecommons.org/licenses/by-sa/3.0/deed.ko) 라이센스로 이용할 수 있습니다. 장대엽 2018.3.20 10:51