제가 왜 코딩을 하고 있을까요?/java
[java] nextInt() 사용 직후 nextLine() 사용하면 생기는 오류 해결 방법
asj8000
2022. 6. 26. 18:14
반응형
문제 사항.
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();
반응형