인프런 커뮤니티 질문&답변
ScannerWhileEx4
작성
·
205
답변 1
0
안녕하세요. 최승호님, 공식 서포터즈 y2gcoder입니다.
Scanner.nextInt() 후에 남은 개행문자(\n) 를 입력 버퍼에서 비워주기 위해 Scanner.nextLine()을 해준다는 것은 알고 계실 것이라 생각합니다!
말씀하신 것처럼 캡처 코드와 다른 점은 Scanner.nextLine(); 의 순서입니다.
이를 잘 생각해보면 원인을 알 수 있습니다!
캡처 코드에서는 name에 개행문자가 들어가기 때문입니다!
메뉴 선택 후 입력 버퍼에는 개행문자가 들어가 있는 상태고,
String name = Scanner.nextLine(); 에서 개행문자를 받고
그다음 Scanner.nextLine();에서 "스프링"을 입력받지만 이를 저장한 변수가 없습니다.
그래서 name 에는 아무 값도 들어가지 않은 것으로 출력되는 것으로 보입니다.
감사합니다.






위의 이미지처럼 스캐너 넥스트 라인을 상품명 다음에 했을때 출력값에 상품명이 뜨지 않습니다. if다음에 바로 스캐너.넥스트라인을 두는것과 왜 이런 차이가 생기는건가요? 이해가 잘 되지않습니다