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 |