반응형
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()은 한 줄 단위로 입력받기 때문에 개행문자를 포함한다.
[참고]
반응형
'Development > Java' 카테고리의 다른 글
[Spring boot] Lombok - Annotation 자동 작성 라이브러리, 언제 쓰이고, 어떻게 쓰이는가 (0) | 2023.06.19 |
---|---|
[Java] String을 int로 변환하는 법/int를 String으로 변환하는 법 (0) | 2022.07.27 |
[Java] 문자열을 char형 배열로 바꿔주는 toCharArray() (0) | 2022.07.20 |
[Java] 문자열 및 문자를 대문자, 소문자로 변환하기 (0) | 2022.07.20 |
[Java] Scanner를 통해 자바 한 문자만 입력받기(char형 데이터) (0) | 2022.07.20 |