scanner, if, while, switch ~ case 문 등의 기초 문법을 활용한 간단한 ATM 프로그램입니다. 어린이들이 은행 놀이 할 때 사용하면 좋겠네요.

import java.util.Scanner;

public class ATM {

  public static void main(String[] args) {

    long deposit = 0;

    while(true) {
      System.out.println("<< ATM >>");
      System.out.println("1. 입금");
      System.out.println("2. 출금");
      System.out.println("3. 조회");
      System.out.println("4. 종료");
      System.out.print(">> ");

      Scanner s = new Scanner(System.in);

      int select = s.nextInt();
      // 단위: 원

      switch(select){
      case 1:                
        while(true) {
          System.out.print( "\n입금할 금액을 입력하세요: ");
          long currentDeposit = s.nextLong();
          if (currentDeposit >= 1)
          {
            deposit += currentDeposit;
            break;
          }                        
          else
            System.out.println( "(경고) 1원 이상의 금액을 입력하세요.\n");
        }                

        System.out.println("입금이 완료되었습니다.");

        // 현재 잔액 표시
        System.out.println("\n현재 잔액: ₩" + deposit + "\n");                
        break;

      case 2:
        System.out.println("\n현재 잔액: ₩" + deposit + "\n");                    

        // 잔액이 없을 시
        if ( deposit == 0) {
          System.out.println("(경고) 잔액이 없습니다.\n");
        }
        else
        {

          while(true) {

            System.out.print( "\n출금할 금액을 입력하세요 (0: 빠져나가기): ");
            long currentWithdraw = s.nextLong();


            if( currentWithdraw < 0 )
              System.out.println("(경고) 마이너스 단위는 출금할 수 없습니다.\n");
            else if( currentWithdraw == 0)
            {
              System.out.println("(경고) 출금 절차를 종료합니다.\n");
              break;
            }
            else if ( currentWithdraw > deposit)
              System.out.println("(경고) 잔액보다 많은 액수를 출금할 수 없습니다.\n");
            else
            {
              deposit -= currentWithdraw;
              System.out.println("출금이 완료되었습니다.");

              System.out.println("\n현재 잔액: ₩" + deposit + "\n");    
              break;
            }
          } // while 끝

        }

        break;

      case 3:
        System.out.println("\n현재 잔액: ₩" + deposit + "\n");    
        break;

      case 4:
        System.out.println("\nATM을 종료합니다.");
        System.exit(0);
        break;

      default:
        System.out.println("올바른 메뉴 번호를 입력하세요. (1~4)");

      }

    }

  }

}