Scanner scanner = new Scanner(System.in);


  • System.in은 표준 입력 스트림 객체이다.
  • import문이 필요하다. (import java.util.Scanner;)
  • System.in은 단순히 키 입력을 바이트 형태로 입력 받기에 이를 사용자가 원하는 타입으로 바꾸는 Scanner 클래스가 필요하다.
  • 일반적으로 Scanner 클래스는 키 값을 토큰 단위로 읽는다.(토큰은 공백 문자를 기준으로 분리한 단위를 말한다.)

예시

import java.util.Scanner;

public class ScannerEx {
    public static void main(String[] args) {
        System.out.println("이름, 도시, 나이,체중, 독신 여부를 빈칸으로 분리하여 입력:");
        Scanner scanner = new Scanner(System.in);

        String name = scanner.next();
        System.out.print("이름은 "+name+", ");

        String city = scanner.next();
        System.out.print("도시는 "+city+" ");

        int age = scanner.nextInt();
        System.out.print("나이는 "+age+" ");

        double weight = scanner.nextDouble();
        System.out.print("체중은 "+weight+" ");

        boolean isSingle = scanner.nextBoolean();
        System.out.print("독신 여부는 "+isSingle+" ");
        scanner.close();
    }
}

실행결과
이름, 도시, 나이,체중, 독신 여부를 빈칸으로 분리하여 입력:
Kim Seoul 20 65.1 true
이름은 Kim, 도시는 Seoul 나이는 20 체중은 65.1 독신 여부는 true 

사용자로부터 값을 입력 받기 위해서 Scanner클래스를 import한다. 클래스 내에서 Scanner 객체를 생성하여 사용자로부터 값을 입력받는다. 문자열 형태로 입력 받기 위해서 next()메소드를 사용한다. 나이를 입력 받기 위해서 nextInt()매소드를 사용한다. 체중 값을 입력 받기 위해서 nextDouble()메소드를 사용한다. 독신여부를 나타내기 위해서 nextBoolean()메소드를 사용한다. 다 사용하였으므로 scanner 객체의 사용을 종료하기 위해서 close()메소드를 사용하였다.


클래스 내에서 함수를 사용하였기에 '메소드'라 부른다. System.in을 통해 받은 데이터를 사용자가 원하는 타입으로 바꾸기 위해서 Scanner 클래스를 사용한다. scanner.close()가 없어도 프로그램이 종료되면 자동으로 닫힌다.

+ Recent posts