Java

Java Scanner Class

sounglikane 2024. 9. 20. 17:09

Scanner 클래스는 사용자로부터 입력을 받기 위해 Java에서 가장 많이 사용되는 클래스 중 하나입니다. 이 클래스는 콘솔이나 파일 등에서 데이터를 읽어들일 때 편리하게 사용할 수 있습니다.

1. 기본 개념

Scanner 클래스는 java.util.Scanner 패키지에 포함되어 있습니다. Scanner를 사용하면 콘솔에서 입력을 받을 수 있을 뿐만 아니라, 파일, 문자열, 기타 입력 소스에서 데이터 읽기가 가능합니다.

2. 기본 사용법

콘솔에서 입력을 받는 간단한 예제:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Scanner 객체 생성 (System.in은 콘솔 입력을 의미)
        Scanner scanner = new Scanner(System.in);

        System.out.print("이름을 입력하세요: ");
        String name = scanner.nextLine();  // 문자열 입력 받기

        System.out.print("나이를 입력하세요: ");
        int age = scanner.nextInt();  // 정수 입력 받기

        System.out.println("입력한 이름: " + name);
        System.out.println("입력한 나이: " + age);
    }
}

 

3. Scanner Class의 주요 Methods

Method 명 설명
nextLine() 한 줄의 문자열 입력을 받습니다.
nextInt() 정수(int) 입력을 받습니다.
nextDouble() 실수(double) 입력을 받습니다.
nextBoolean() 논리값(boolean) 입력을 받습니다.
next() 공백을 기준으로 하나의 단어 입력 받기
hasNext() 다음 입력 값이 있는지 확인
hasNextInt(), hasNextDouble() 입력 값이 해당 타입인지 확인

 

4. 예외 처리

Scanner를 사용할 때 입력 값이 예상한 타입이 아니면 'InputMismatchException'이 발생할 수 있습니다. 이를 방지하기 위해 예외 처리를 사용할 수 있습니다. 

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        try {
            System.out.print("숫자를 입력하세요: ");
            int number = scanner.nextInt();  // 정수 입력
            System.out.println("입력한 숫자: " + number);
        } catch (InputMismatchException e) {
            System.out.println("유효하지 않은 입력입니다. 숫자를 입력해야 합니다.");
        }
    }
}

'Java' 카테고리의 다른 글

Algorithm Code Kata 문제 풀기  (0) 2024.09.23
숫자 야구 Game 구현 및 Troubleshooting  (0) 2024.09.20
'indexOf()' Method, StringBuilder Class  (0) 2024.09.19
Java Lambda Expression & Stream API  (0) 2024.09.13
Java Collection Interface  (0) 2024.09.12