자바생
728x90

next()와 nextLine()의 차이

next()

- 공백을 기준으로 한 단어 또는 한 문자씩 입력받는다.

- 버퍼에 입력된 문자나 문자열에서 공백 전까지의 단어를 읽음. 그래서 개행 문자를 가져오지 않는다.

 

nextLine()

- 문자 또는 문장 한 라인 전체를 입력받는다.

- 버퍼에 입력된 문자열을 개행 문자까지 다 가져온다.

 

ex) 

Hello World 입력

next() : Hello만 출력

nextLine() : Hello World 출력

 

nextInt() 사용 후 nextLine() 사용 시 문제 발생

- nextInt()는 개행 문자를 제거하지 않는다. 그래서 버퍼에 개행 문자가 남아있게 된다. 여기서, nextLine()을 사용하게 되면 개행 문자를 만나서 개행 문자를 받게 된다. 따라서 원하는 문자열을 입력받지 못할 수 있다.

 

문제 해결 방법

- nextInt()와 nextLine() 사이에 nextLine()을 하나 추가하여 개행 문자를 버퍼에서 없애주면 원하는 문자열을 입력받을 수 있다.

728x90
profile

자바생

@자바생

틀린 부분이 있다면 댓글 부탁드립니다~😀

검색 태그