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 |