private static Scanner scanner = new Scanner(System.in);
public int getNum() {
int num; // scope(유효범위) 이슈
while(true) {
try { //오류가 발생할 수 있는 경우의 수
System.out.print("주민번호입력 >> "); // 주민번호 입력시 num이 아니라 String이 들어올 수 있다!
num = scanner.nextInt(); //그래서 try에 입력파트가 들어가야함.
}
catch(InputMismatchException e) { //정수 외 입력이 발생한 경우 아래 행동 실시!
scanner.nextLine(); //버퍼를 먹어줘야 반복문 오류가 발생하지 않는다.
System.out.println("정수만 입력가능합니다!");
System.out.println("다시 확인후 입력해주세요!");
continue; //컨티뉴가 있어야 아래 행동을 수행하지 않고 다시 입력부분으로 되돌린다.
}
if(100<num && num<200) {
break;
}
System.out.println("번호를 다시 확인후 입력해주세요!");
}
return num;
}
위와 같이 쓰면 사용자 입력을
정수로 강제할 수 있다.
※ 유의사항 2가지
1) 예외가 발생했을 시 버퍼 공간을 먹기 위해
catch부분에 scanner.nextLine(); 꼭 적용하기!
2) InputMismatchException; 의 경우
기본 제공항목이 아니라서 import가 추가되어야한다.
import java.util.InputMismatchException;
import java.util.Scanner;
'개주 훈련일지 > 🏋️ 전집중 호흡 훈련' 카테고리의 다른 글
| 코드 응집도는 높이고 결합도는 낮춰라! (0) | 2025.10.24 |
|---|---|
| Model에서 Read 수행 시 복사체 만들기 (0) | 2025.10.24 |
| 이터레이터 복사체 활용법 (0) | 2025.10.23 |
| 객체를 보여줄 수 있는 함수 toString (0) | 2025.10.22 |
| 어레이리스트 / 셋 / 맵 사용하기 (0) | 2025.10.22 |