본문 바로가기
Development/Java

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

by 대범하게 2022. 7. 26.
반응형

next(), nextLine()

문제를 풀다가 입력받은 값이 출력값이 이상한걸 발견했고,

문제는 next()와 nextLine()의 차이에 있었다.

 

next(), nextLine()는 Scanner 클래스의 메소드이다. 

공통점은 둘다 문자열로 반환을 시켜준다는 점이고, 차이점은 개행문자를 무시하냐 안하냐의 차이라고 할 수 있다.

public static void main(String[] args) {
        Main main = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.next();
        System.out.println("str : " + str); 
    }

kb.next()와 같은 방식으로 입력 받을 경우에 띄어쓰기 이전의 문자까지 밖에 입력받을 수 없다.

만약 띄어쓰기를 포함하여 한줄을 통째로 입력받고 싶다면 kb.nextLine() 함수를 사용해야한다.

즉, next()는 개행문자를 무시하고 입력을 받고, nextLine()은 한 줄 단위로 입력받기 때문에 개행문자를 포함한다.

 

 

[참고]

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

반응형