import java.util.Scanner;
//ATM 시뮬레이터
public class Quiz_02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int account=0; //잔액
int money=0; //입력으로 받을 입출금희망금액 변수
int menu=0; // 입력으로 받을 메뉴번호 변수
while(true) { //ATM 시뮬레이터 시작
//메뉴번호 입력 및 숫자가 아닌 값에 대한 예외처리
while(true) {
try {
System.out.println("*** ATM 시뮬레이터***");
System.out.println("1.잔액조회");
System.out.println("2.입금하기");
System.out.println("3.출금하기");
System.out.println("4.종료하기");
System.out.print(">> ");
menu=Integer.parseInt(sc.nextLine());
break;
}catch(Exception e) {
System.out.println("메뉴가 잘못 입력되었습니다.");
continue;
}
}
//종료하기 메뉴기능
if(menu==4) {
System.out.println("시뮬레이터를 종료합니다.");
System.exit(0);
}
//지정된 메뉴 외의 숫자 입력이 들어왔을 경우
if(!(menu==1) && !(menu==2) && !(menu==3) && !(menu==4)){
System.out.println("메뉴번호를 다시 입력해주세요.");
continue;
}
switch(menu) { //잔액조회, 입금하기, 종료하기 기능 switch 시작
//잔액조회 기능*************************
case 1 :
System.out.println("잔액은 " + account + "원 입니다.");
break; //잔액조회기능 종료
//입금하기 기능*************************
case 2 :
while(true) {
try { //입금금액 입력 및 숫자값이 아닌 입력에 대한 예외처리
System.out.println("얼마를 입금하시겠습니까?");
money=Integer.parseInt(sc.nextLine());
break;
}catch(Exception e) {
System.out.println("숫자값이 아닙니다.");
continue;
}
}
account+=money; //입금처리
System.out.println(money+"원이 입금되었습니다."); //입금결과 출력
break; //입금기능 종료
//출금하기 기능*************************
case 3 :
while(true) {
try { //출금금액 입력 및 숫자값이 아닌 입력에 대한 예외처리
System.out.println("얼마를 출금하시겠습니까?");
money=Integer.parseInt(sc.nextLine());
break;
}catch(Exception e) {
System.out.println("숫자값이 아닙니다.");
continue;
}
}
//출금할 금액은 잔액보다 크면 출금할 수 없음을 구현
if(account-money<0) { //잔액-출금요청금액이 0보다 작으면
System.out.println("잔액이 부족합니다."); //잔액부족
}else { //잔액-출금요청금액이 0보다 크면
account-=money; //출금처리
System.out.println(money+"원이 출금되었습니다."); // 출금결과 출력
}
break; //출금기능종료
} //잔액조회, 입금하기, 종료하기 기능 switch종료
} //ATM시뮬레이터 종료
} //main 종료
} //클래스 종료
Comment