반응형
문제 사항.
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' 카테고리의 다른 글
오류: 에이전트에 예외사항이 발생했습니다. : java.rmi.server.ExportException: Port already in use: 8080; nested exception is: java.net.BindException: Address already in use (Bind failed) (0) | 2022.04.25 |
---|---|
하나 이상의 리스너들이 시작하지 못했습니다. 상세 내역은 적절한 컨테이너 로그 파일에서 찾을 수 있습니다. - 에러 로그 안뜨는 문제 해결 (4) | 2022.04.25 |
(TCP) java 소켓 채팅 프로그램 (0) | 2019.04.22 |
자바팟 4주차 (0) | 2017.11.14 |
자바팟 3주차 -4/4 (0) | 2017.11.14 |
댓글