프로그래밍을 하다보면 사용자로부터 값을 입력받아야 할 때가 있습니다. 이럴 때는 자바 키보드 입력 클래스 java Scanner 메소드를 사용하면 됩니다.
웹 같은 경우는 html에서 input type=”text”를 쓰지만 java 콘솔에서 입력을 받아야 할 경우는 html태그를 쓸 수가 없어 난감한 경우가 있습니다.
이때는 BufferedReader와 Scanner 를 통해 사용자(키보드)로부터 입력을 받을 수 있습니다.
1. 예제 소스
아래의 예제는 사용자로부터 값을 입력 받으면 그 값을 구구단으로 출력하는 예제입니다.
public class Exinput { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("숫자를 입력해주세요 :"); // 1. BufferedReader // String input = br.readLine(); // int num = Integer.parseInt(input); // 2. Scanner Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i=1; i<=9; i++){ System.out.println(num+" X "+i+ " = "+ num*i); } } }
2. 결과
다음과 같이 숫자 5를 입력하였고 이에 대한 5단의 구구단이 출력된 모습입니다.
위의 예제는 integer 타입의 정수만을 입력받았지만 위에 정의한 br이나 sc를 입력하고 .을 찍으면 다음과 같이 다양한 메소드를 통해 string이나 byte, float 타입으로 변수를 지정 및 할당 할 수 있습니다.
3. 기능의 차이점
BufferedReader, Scanner는 둘다 사용자나 키보드로부터 값을 입력받는 기능을 제공하지만 딱히 차이점이 존재하지 않습니다.
단지 jdk 버전이 낮아서 이전에는 BufferedReader 썼지만 방법이 복잡하고 쓰기가 어려워서 개선책으로 나온 Scanner를 지금은 이를 더 많이 활용하고 있습니다.
“java Scanner BufferedReader 사용법” 에 하나의 답글
I loved your post.Thanks Again. Really Great.