[JAVA] 버퍼 비우기

Chan·2023년 11월 21일
0

JAVA

목록 보기
6/6

버퍼에 남는 이유

System.out.print("정수 입력:");
int i = sc.nextInt();
System.out.print("문자열 입력:");
String s = sc.nextLine();

System.out.println("int = "+ i);
System.out.println("String = "+ s);

이런식으로 결과값이 나온다
이 코드는 버퍼에 개행 문자가 남아서 엔터가 nextLine에 입력된 것이다

nextLine은 분리자(개행 문자)까지 문자열로 가져옴

  • 읽어올 때 분리자까지 읽음 -> 버퍼에 아무것도 남지 않음

nextLine을 제외한 나머지는?

  • next나 nextInt는 분리자를 제외하고 읽어옴 -> 버퍼에 분리자가 남게 됨
    -> 이 메소드 다음에 nextLine이 오면, 남아있던 분리자가 nextLine에 읽어지는 것.

버퍼 비우는 법

  • 문자열 입력 받을 nextLine 앞에 nextLine을 또 하나 넣어주면 됨

System.out.print("정수 입력:");
int i = sc.nextInt();
sc.nextLine();			//문자열 입력 전, 개행 문자 받을 nextLine 추가

System.out.print("문자열 입력:");
String s = sc.nextLine();

System.out.println();
System.out.println("int = "+ i);
System.out.println("String = "+ s);

profile
💻

0개의 댓글