과거에 응용 쪽에 있을 때에도 항상 느꼈던 부분이지만 HE(human error)가 제일 힘들다...
모든 공정이 자동화 되고 자동으로 데이터가 수집이 되더라도 사람이 전혀 들어가지 않는 공정은 아직은 불가피하고 할 수 있다고 하더라도 비용적인 문제가 크다. 이번 계산기를 만들 때에도 그런 오류가 존재한다.
사람의 손가락을 기계로 컨트롤 하지 않는 이상 HE는 잡기가 힘들다....
System.out.println("계산 모드를 선택해주세요. (번호 입력)");
System.out.println("1, 원 계산.");
System.out.println("2. 일반 계산");
System.out.println("3. 프로그램 종료");
int inputData = sc.nextint();
위와 같은 일부 사람에게 선택할 수 있는 사항이 주어지면 입력할 수 있는 경우의 수가 많은 키보드로 사람은 절대 1,2,3만 누르지 않는다. 절~ 대~
그렇기 때문에 예외 처리가 중요한 거다.
public boolean tryParsingInt(String brInput) {
boolean returnResult;
try {
inputData = Integer.parseInt(brInput);
returnResult = true;
} catch (Exception e) {
returnResult = false;
}
return returnResult;
}
이런 함수 하나만 넣어주면 숫자만 들어간다.
그리고 다른 숫자가 들어올 경우에는 오류 알림 문구를 넣어주면 끝이다
if (calculator.tryParsingInt(sc.next())) {
double result = 0;
switch (calculator.getInputData()) {
case 1:
result = calculator.calculateCircleAround(sc.nextInt());
System.out.println("둘레 연산 결과: " + result);
break;
case 2:
result = calculator.calculateCircleArea(sc.nextInt());
System.out.println("넓이 연산 결과: " + result);
break;
case 3:
System.out.println("모드가 초기화 됩니다. 현재 모드 : 원");
calculator.circleExit = false;
break;
default:
System.out.println("맞지 않는 숫자입니다.");
break;
}
}
else System.out.println("숫자가 아닙니다. 다시 입력해주세요");
제발.... 베잘 숫자거나 맞는 숫자만 입력...했으면...