Java 콘솔로 은행 계좌 입출금

금융에서 사용하는 변수명과 뜻부터 용어 정리가 필요하다.

  • 변수 balance 잔고는 통장에 남아있는 잔액이다.
  • 변수 deposit 입금으로 통장에 돈을 넣는다.
  • 변수 withdraw 출금으로 통장에서 돈을 꺼낸다
  • 변수 Amount 는 거래 금액이다.

은행 계좌는 콘솔에서 동작하도록 코드를 구성할 것이다.

  • 사용자로부터 입력을 받아 입금과 출금 기능 추가
  • 사용자의 잔액을 표시할 수 있는 기능 추가
  • 출금 시 잔액이 부족한 경우 "잔액이 부족합니다." 출력

입력 예

1
8000
2
4000
2
5000
3
4

출력 포맷

------------------------------------
입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번
------------------------------------
선택: 1
입금액: 8000
8000원 입금. 잔액: 8000
------------------------------------
입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번
------------------------------------
선택: 2
출금액: 4000
4000원 출금. 잔액: 4000
------------------------------------
입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번
------------------------------------
선택: 2
출금액: 5000
5000원 출금 실패. 잔액이 부족합니다.
------------------------------------
입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번
------------------------------------
선택: 3
4000원 잔액이 남아있습니다.
------------------------------------
입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번
------------------------------------
선택: 4
프로그램을 종료합니다,

Java 은행 계좌 입출금 코드

import java.util.Scanner;

public class Method {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int launched = 1;
        int balance = 0;

        while(true) {
            int selector = printConsole(scanner);
            scanner.nextLine();

            switch(selector) {
                case 1 -> balance = deposit(balance, scanner);
                case 2 -> balance = withdraw(balance, scanner);
                case 3 -> viewBalance(balance);
                case 4 -> launched = exitConsole();
            }

            if (launched == 0) {
                break;
            }
        }

    }

    public static int printConsole(Scanner selector) {
        System.out.println("------------------------------------");
        System.out.println("입금 1번 | 출금 2번 | 잔액 3번 | 종료 4번");
        System.out.println("------------------------------------");
        System.out.print("선택: ");
        return selector.nextInt();
    }

    public static int deposit(int balance, Scanner scanner) {
        System.out.print("입금액: ");
        int amount = scanner.nextInt();
        scanner.nextLine();
        balance += amount;

        System.out.println(amount + "원 입금. 잔액: " + balance);
        return balance;
    }

    public static int withdraw(int balance, Scanner scanner) {
        System.out.print("출금액: ");
        int amount = scanner.nextInt();
        scanner.nextLine();

        if (balance >= amount) {
            balance -= amount;
            System.out.println(amount + "원 출금. 잔액: " + balance);
        } else {
            System.out.println(amount + "원 출금 실패. 잔액이 부족합니다.");
        }
        return balance;
    }

    public static void viewBalance(int balance) {
        System.out.println(balance + "원 잔액이 남아있습니다.");
    }

    public static int exitConsole() {
        System.out.println("프로그램을 종료합니다.");
        return 0;
    }
}