[TIL] Scanner nextLine() 사용 팁

정석·2024년 8월 6일

TIL

목록 보기
14/40
post-thumbnail

Scanner 를 이용해 키보드 입력을 받을 때 nextInt() 를 사용하고 nextLine 을 바로 사용하면 안된다.

nextInt() 는 키보드에서 입력 받은 값에서 개행문자를 제외한 내용만 가져오기에, 버퍼에 개행문자가 남는다.
따라서 이후에 nextLine() 을 통해 입력을 받을 때 문제가 생긴다.

해결책

nextLine() 을 한 번 입력해준다.

예시

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

        System.out.print("숫자를 입력하세요: ");
        int number = scanner.nextInt();

        // nextInt() 후에 남아있는 개행문자를 제거
        scanner.nextLine(); // 이 라인이 개행문자를 제거합니다.

        System.out.print("문자열을 입력하세요: ");
        String text = scanner.nextLine();

        System.out.println("입력된 숫자: " + number);
        System.out.println("입력된 문자열: " + text);

        scanner.close();
    }
}

0개의 댓글