[JAVA] Scanner nextLine() error

leesoyeong·2024년 1월 4일

오류기록

목록 보기
4/8

자바 Scanner nextLine error

전화번호부 콘솔 프로그램을 만들면서 생긴 오류인데
실행을 했을 때, 메뉴를 선택하고 해당 기능을 수행하면서 사진처럼 이름과 전화번호 이메일을 입력해야하는데 이름은 건너뛰고, 바로 전화번호 입력으로 넘어가는 경우가 생겼다.

error 이유

nextLine()으로 이름을 입력 받기 전에,
기능 선택 메뉴를 nextInt()로 입력을 받았는데
숫자를 입력하고 엔터를 누르고 넘어가는 과정에서
이 엔터! 가 버퍼에 저장되어 이름에 저장되고 전화번호로 바로 넘어가는 것이었다.

해결

        sc.nextLine();
        System.out.print("이름 : ");
        String name = sc.nextLine();
        System.out.print("전화번호 : ");
        String phoneNumber = sc.nextLine();
        System.out.print("이메일 : ");
        String email = sc.nextLine();

print로 입력을 받기 전에, nextLine()을 사용하여 엔터가 입력된 버퍼를 비워주면 해결된다!

참고자료

https://velog.io/@vgo_dongv/Java-Scanner-%ED%81%B4%EB%9E%98%EC%8A%A4-%ED%8A%B9%EC%A7%95-nextLine-%EC%98%A4%EB%A5%98%EB%82%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

profile
초보 개발자

0개의 댓글