자바 공부

next() v.s. nextLine()의 차이

민석삼 2024. 6. 29. 23:13

next()는, 개행문자를 무시하고, 공백을 기준으로 한 단어를 입력으로 받음

버퍼에 입력된 문자열에서 공백 전까지의 단어를 읽음

개행 문자를 포함하지 않고 입력을 읽어옴

입력: hello world

next로 받아온 출력: hello

 

nextLine()는, 개행을 기준으로 한 줄 단위로 입력을 받음

개행문자 포함하여 읽음

입력: hello world

nextLine으로 받아온 출력: hello world

 

*주의

nextInt()로 정수를 입력 받을 때, 사용자가 5\n이라고 입력했다면, nextInt는 5까지는 읽어오고 \n은 버퍼에 남게 된다.

이 이후에 nextLine으로 입력을 받는다면, 이미 버퍼에 있는 \n을 nextLine()이 읽어가게 되어 입력이 종료된다

 

해결: nextLine() 대신 next() 사용

(next()는 개행 무시하고 입력 받음!)

 

참고 사이트

https://devlog-wjdrbs96.tistory.com/80

 

[JAVA] next(), nextLine() 의 차이

나는 지금까지 next()와 nextLine()의 차이는 단순히 한 줄을 전부 입력받고 싶을 때(한 문장을 입력한다던지)는 nextLine()을 사용하고 한 단어씩 입력하고자 할 때는 next()를 사용한다 정도의 가볍게

devlog-wjdrbs96.tistory.com

https://ontheway.tistory.com/65

 

[Java] 화면에서 입력 받기 : 스캐너(Scanner)

자바에서 화면으로부터 입력을 받아오는 방법은 정말 다양합니다. 그 중에서 가장 기본적이고 보편적인 방법이 Scanner 클래스를 이용한 방법입니다. Scanner가 보편적으로 쓰이는 이유와 Scanner의

ontheway.tistory.com