반응형
Scanner를 이용하여 입력을 받다가 '\n' 개행 문자가 버퍼에 들어가서 입력이 중복되거나
에러가 생기는 경우가 있습니다.
Scanner sc = new Scanner();
sc.nextLine()
에러를 방지하기 위해 입력을 받고 개행문자가 들어가는 곳 다음에 대기가 필요합니다.
sc.nextLine()를 사용하여서 개행문자를 한번 받아준다면
에러를 해결 할 수 있습니다.
import java.util.Scanner;
public class scanner {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("이름을 입력하세요.");
String name = sc.next();
System.out.println("나이를 입력하세요.");
int age = sc.nextInt();
sc.nextLine(); //버퍼클리어
System.out.println("학교를 입력하세요");
String school = sc.nextLine();
System.out.println("이름은 :" + name);
System.out.println("나이는 : " + age);
System.out.println("학교는 : "+ school);
}
}
여기서 만약 sc.nextLine()으로 받아주지 않는다면
나이를 입력하세요 당시에 enter 키가
학교를 입력하세요 아래의 Scanner에 입력되어서 함수가 끝나버립니다.
이러한 버퍼 상태를 제거해야면 그다음 입력 함수를 받을 수 있습니다.
728x90
반응형