자바에서 nextLine()을 사용하는 경우 버퍼에 남아있는 개행문자로 인하여 다음 scanner에 입력이 안되고 띄어쓰기가 발생하여 공백이 저장되는 경우가 있다. 예시를 한번 참고해보자
이처럼 스캐너로 다른 값을 입력한 뒤 nextLine()을 통하여 문자열을 받으려고 하면 nextLine()이 다른 next()들이 버퍼에 남긴 개행(공백)을 인식하기 때문에 생기는 현상이다. 보이는 것과 같이 다른 next()를 nextLine()앞에 사용했을 때 공백을 인식하여 nextLine()은 입력을 하지 못하는 상태를 볼 수 있다. 이를 해결하기 위해는 공백을 인식하는 nextLine();을 원래 사용하려고 하는 nextLine() 앞쪽에 사용해주면 제대로 입력이 가능하다.
이처럼 scanner.nextLine()만 추가해주면 된다.
개행을 scanner.nextLine()으로 인식해줘서 모든 next()에 값을 넣을 수 있었다.
'JAVA' 카테고리의 다른 글
[JAVA] 자바 코드색이 안나오는 에러/ MAIN함수 에러 (0) | 2021.11.07 |
---|---|
[JAVA] 자바 boolean이란? boolean 사용법 (0) | 2021.11.03 |
[JAVA] overload 와 override의 차이점 (0) | 2021.10.31 |