728x90
Scanner란?
- Scanner는 자바에서 콘솔 입력을 처리하는 클래스입니다.
- 사용자가 키보드로 입력한 내용을 변수에 저장해서 사용할 수 있어요.
기본 사용법
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // Scanner 객체 생성
System.out.print("이름을 입력하세요: ");
String name = sc.nextLine(); // 문자열 입력
System.out.print("나이를 입력하세요: ");
int age = sc.nextInt(); // 정수 입력
System.out.println("안녕하세요, " + name + "님. 나이는 " + age + "살입니다.");
}
}
주요 입력 메서드
메서드 | 설명 | 예시 |
next() | 단어 한 개 입력 (공백 전까지만) | 이름, ID 등 |
nextLine() | 한 줄 전체 입력 (띄어쓰기 포함) | 주소, 문장 등 |
nextInt() | 정수 입력 | 나이, 숫자 |
nextDouble() | 실수 입력 | 가격, 키 등 |
nextBoolean() | true/false 입력 | 선택 여부 등 |
실습 예제
숫자 2개 입력받아 합 출력
Scanner sc = new Scanner(System.in);
System.out.print("첫 번째 숫자: ");
int num1 = sc.nextInt();
System.out.print("두 번째 숫자: ");
int num2 = sc.nextInt();
System.out.println("합: " + (num1 + num2));
한 줄 전체 입력받기 (띄어쓰기 포함)
System.out.print("당신의 자기소개를 입력하세요: ");
String intro = sc.nextLine();
System.out.println("입력한 내용: " + intro);
주의사항: nextLine()과 nextInt() 같이 쓸 때 문제
int age = sc.nextInt(); // 숫자 입력
sc.nextLine(); // 엔터 처리
String name = sc.nextLine(); // 제대로 작동
nextInt() 다음에 nextLine()을 쓰면 엔터(\n) 가 남아서 문제가 생길 수 있어요.
이때는 sc.nextLine();을 한 줄 추가해 버퍼를 비워주세요.
마무리 요약
개념 | 요약 |
Scanner | 입력을 받는 도구 (System.in으로 연결) |
.nextInt() | 정수 입력 |
.nextLine() | 한 줄 전체 입력 |
입력 순서 중요 | nextLine() 앞에 nextInt()가 오면 엔터 처리 주의 |
Scanner 객체 마무리 처리 (선택)
sc.close(); // 입력이 끝났으면 자원 해제
LIST
'JAVA > 자바 실습 중심 학습' 카테고리의 다른 글
배열을 활용한 성적 관리 프로그램 (0) | 2025.04.12 |
---|---|
랜덤 숫자 생성기 (로또) (0) | 2025.04.11 |
구구단 출력기 (0) | 2025.04.11 |
간단한 사칙연산 계산기 만들기 (0) | 2025.04.11 |