728x90
반응형
SMALL
안녕하세요 😊 코드카인 여러분!
오늘은 Java에서 자주 사용하는 Scanner 라이브러리를 다뤄볼게요. 이름만 보면 "스캐너로 문서를 스캔하나?" 싶을 수도 있지만, 사실 이건 사용자 입력을 처리하는 강력한 도구랍니다!
일상에서 생각해 볼까요? 마치 친구가 "네 이름이 뭐야?"라고 물었을 때, 여러분이 대답하는 것처럼, 프로그램도 사용자와 대화하려면 뭔가를 "입력받는" 기능이 필요해요. 여기서 Scanner가 활약합니다!
📖 Scanner 라이브러리란?
Scanner는 Java의 **표준 입력(System.in)**을 통해 데이터를 읽어오는 데 사용되는 클래스예요.
즉, 사용자가 키보드로 입력하는 내용을 프로그램이 받아들일 수 있게 도와주는 도구랍니다.
📌 사용법: Scanner로 사용자 입력 처리하기
아래는 기본적인 사용법이에요!
- 먼저 import 문을 통해 Scanner 클래스를 가져와야 해요.
- 그다음, **new Scanner(System.in)**으로 객체를 생성합니다.
- 마지막으로 next()와 같은 메서드로 데이터를 읽어오면 끝!
import java.util.Scanner; // Scanner 클래스를 불러옵니다.
public class Main {
public static void main(String[] args) {
// Scanner 객체 생성
Scanner scanner = new Scanner(System.in);
// 사용자 입력 요청
System.out.print("이름을 입력하세요: ");
String name = scanner.nextLine(); // 한 줄 입력받기
System.out.print("나이를 입력하세요: ");
int age = scanner.nextInt(); // 정수 입력받기
System.out.println("안녕하세요, " + name + "님! 당신의 나이는 " + age + "살입니다.");
scanner.close(); // Scanner 닫기
}
}
🕵️♀️ 주요 메서드 알아보기
마치 커피 메뉴를 고르듯, 필요한 데이터 형식에 따라 다양한 메서드를 사용할 수 있어요:
메서드 | 설명 | 예시 |
---|---|---|
nextLine() |
한 줄의 문자열 입력받기 | 이름, 주소 |
nextInt() |
정수(Integer) 입력받기 | 나이, 숫자 ID |
nextDouble() |
실수(Double) 입력받기 | 금액, 점수 |
next() |
공백 전까지 문자열 입력받기 | 단어, 명령어 |
hasNext() |
입력값이 있는지 확인 | 반복 처리용 |
🎯 실생활에 비유한 사용 예제
- 주문받기 키오스크
키오스크에서 "메뉴를 입력하세요"라고 하면, 사용자가 "아메리카노"라고 입력하는 과정과 똑같아요. - ATM에서 금액 입력하기
ATM에서 "출금 금액을 입력하세요"라고 했을 때, 여러분이 숫자를 입력하는 과정이죠.
🚩 Scanner 사용 시 주의할 점
nextLine() vs next() 차이
- next()는 공백 전까지 입력받아요.
- 반면 nextLine()은 Enter 키까지 전부 가져옵니다.
System.out.print("문장을 입력하세요: ");
String text = scanner.next(); // 공백 전까지
String fullText = scanner.nextLine(); // 한 줄 전체
데이터 형식 일치
숫자를 입력받아야 할 때, 문자를 입력하면 InputMismatchException 오류가 발생해요!
이를 방지하려면 hasNextInt() 같은 메서드로 미리 확인하는 것도 방법입니다.
if (scanner.hasNextInt()) {
int number = scanner.nextInt();
} else {
System.out.println("숫자를 입력하세요!");
}
😊 마무리하며..
Scanner는 초보 개발자가 가장 먼저 배우는 입력 처리 도구이지만, 실무에서도 종종 사용됩니다.
사용자와의 소통이 가능한 프로그램을 만들고 싶다면 꼭 익혀야 할 기능이니, 직접 따라 해 보세요! 😊
728x90
반응형
SMALL
'JAVA > Java 라이브러리' 카테고리의 다른 글
자바 Wrapper 클래스: 기본형에 날개를 달아주는 마법 (0) | 2024.12.24 |
---|---|
Java 스트림(Stream)과 람다(Lambda) 완벽 가이드: 초보자를 위한 쉬운 설명과 활용법 (0) | 2024.12.20 |