Java

[Java] Scanner 클래스와 메서드(입력)

jny0 2023. 2. 27. 17:04

Scanner 클래스

기본적인 데이터 타입들은 Scanner를 사용하여 입력받을 수 있다.

import java.util.Scanner;를 통해 Scanner 클래스를 import 한 후 사용할 수 있다.

Scanner sc = new Scanner(System.in); // Scanner 객체 생성

 

Scanner 메서드

sc.nextByte()        // byte 형 입력 및 리턴
sc.nextShort()        // short 형 입력 및 리턴
sc.nextInt()        // int 형 입력 및 리턴
sc.nextLong()        // long 형 입력 및 리턴

sc.nextFloat()        // float 형 입력 및 리턴
sc.nextDouble()        // double 형 입력 및 리턴

sc.nextBoolean()    // boolean 형 입력 및 리턴

sc.next()            // String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음)
sc.nextLine()        // String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
import java.util.InputMismatchException;
import java.util.Scanner;

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

        int input = 0;

        while ( true ) {
            System.out.printf("숫자 : ");

            try {
                // saa
                input = sc.nextInt(); // 대기, 숫자 하나 입력될 때 까지
                sc.nextLine(); // 버퍼를 비운다.
                break;
            }
            catch ( InputMismatchException e ) { 	// 입력된 값이 int 타입이 아닐 때
                sc.nextLine(); // 버퍼를 비운다.
                System.out.println("숫자를 입력해주세요.");
            }
        }

        System.out.printf("입력된 숫자 : %d\n", input);

        sc.close();
    }
}