본문 바로가기
제가 왜 코딩을 하고 있을까요?/java

[java] nextInt() 사용 직후 nextLine() 사용하면 생기는 오류 해결 방법

by asj8000 2022. 6. 26.
반응형

 

문제 사항.

nextInt() 사용 직후 nextLine() 를 사용하면

사용자 입력과 무관하게 nextLine() 이 빈값을 받아오게 됨.

 

원인

Scanner.nextInt()가 사용자 입력의 마지막 개행을 처리해주지 않음.

이 처리되지 않은 개행 문자가 다음에 사용되는 Scanner.nextLine()에서 입력되기에,

nextLine()이 사용자 입력과 무관하게 빈 값을 받아오게 됨.

 

해결 방법

값을 받을 때 Scanner.nextInt()이 아닌 Scanner.nextLine()로 받아오고,

입력 받아온 값을 Integer.parseInt 를 사용해서 형변환시키기.

int value = Integer.parseInt(scanner.nextLine());

 

혹은 그냥... nextInt() 직후에 의미 없는 nextLine()를 한줄 추가해도 괜찮을 것 같다.

int value = scanner.nextInt();
String emptyValue = scanner.nextLine();

 

 

반응형

'제가 왜 코딩을 하고 있을까요? > java' 카테고리의 다른 글

(TCP) java 소켓 채팅 프로그램  (0) 2019.04.22
자바팟 4주차  (0) 2017.11.14
자바팟 3주차 -4/4  (0) 2017.11.14
자바팟 3주차 -3/4  (0) 2017.11.14
자바팟 3주차 - 2/4  (0) 2017.11.14

댓글