ATM 시뮬레이터
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 종료
} //클래스 종료