본문 바로가기

프로그래밍/Java

[Java] scan.next() 와 scan.nextLine의 차이

 Scanner 클래스를 이용하여 입력받을 때 String 타입의 데이터를 받기 위해서 next() 메소드를 이용할 수 있다.

하지만 next() 메소드를 통해 문자열을 읽을 때, 공백이 포함되면 공백을 기준으로 앞에 한 단어만 읽어 오기 때문에 원하는 입력값이 출력되지 않는 경우가 발생한다.

 

코드 예시)

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
        	// Hello World를 입력한다.
        	String str = sc.next();
        
        	System.out.println(str);
        
	}
}
결과 : Hello

 

이러한 경우를 방지하기 위해서 공백이 포함된 문자열을 입력할 때는 next() 메소드 대신 nextLine() 메소드를 사용하도록 하자.

 

코드 예시)

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
        	// Hello World를 입력한다.
        	String str = sc.nextLine();
        
        	System.out.println(str);
        
	}
}
결과 : Hello World

 

'프로그래밍 > Java' 카테고리의 다른 글

[Java] toString()과 String.valueOf() 차이점  (0) 2022.11.13
[Java] 배열 자르기  (0) 2022.10.30
[Java] Enum  (0) 2022.03.07
[Java] 문자열 배열에 저장하기  (1) 2021.11.28
[Java] replace()와 replaceAll()  (0) 2021.11.25