JAVA/JAVA

Scanner 버퍼 발생과 비우기

HicKee 2019. 6. 14. 13:59

아래 nextInt()오는 경우 값만 가져가기 때문에 개행문자(/r/n)-아스키코드 10.13 가 남아 있어서 

다음에 오는 nextLine()가 개행문자를 먹어버려서 

입력되지 않거나 혹은 다음 문자를 입력 없이 출력하게 만든다.

해서 이런 현상을 없애고자 한다면 sc.nextLine();을 넣어 줌으로써 버퍼를 비울수 있게 되는 것이다.

다음에 오는 문자열을 받는 곳에서는 정상적으로 작동한다

 

public class sec_verrify09 {

 

public static void main(String[] args) {

 

Scanner scan = new Scanner(System.in);

 

System.out.println("입력 ");

String str = scan.nextLine();

 

System.out.println("입력 ");

str = scan.nextLine();

}

 

}