Scanner
: 키보드에 들어오는 데이터 스캔
nextInt(); 다음에 nextLine(); 쓰기!close();해줘야 함import java.util.InputMismatchException;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = 0;
// 중괄호 안에 선언된 변수는 중괄호에서만 쓸 수 있음
// input을 while문 밖에서도 사용하고 싶다면 while문 밖에 선언해야 함
while ( true ) {
System.out.printf("숫자 : ");
try {
input = sc.nextInt(); // 대기 (숫자 하나가 입력될 때까지)
sc.nextLine(); // 버퍼 비우기- nextInt 후에 딱히 다른 이유가 없다면 버퍼를 비워줘야 한다!(암기)
break;
}
catch ( InputMismatchException e ) {
/* 여기에 버퍼를 비우는 코드가 또 있는 이유 :
예외가 발생된 경우에는 try문에서 sc.nextInt();까지만 실행되고 여기로 바로 넘어올 것이기 때문 */
sc.nextLine();
System.out.println("숫자를 입력해주세요.");
}
}
System.out.printf("입력된 숫자 : %d\n", input);
sc.close(); // Scanner 다 쓰고 나면 꼭 close해줘야 함!
}
}