Programming/Java

[Method] method overloading 기본(2)

디아쿠 2024. 6. 22. 21:09

저번과 비슷하게 입 출금을 하는 건 똑같지만 사용자로부터 입력을 받아 입금과 출금을 반복하는 프로그램을 만들어봤다.

출금 시 잔액이 부족하면 부족하다고 출력하고, 간단한 4가지 메뉴를 만들어서 수행할 수 있도록 했다.

 

실행 결과

 

package method.ex;

import java.util.Scanner;

public class MethodEx04 {

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

        while (true){
            System.out.println("-----------------");
            System.out.println("1.입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료 ");
            System.out.println("-----------------");
            System.out.println("선택: ");


            int choice = scanner.nextInt();
            int amount;

            switch (choice){
                case 1:
                    System.out.println("입금액을 입력하세요. ");
                    amount = scanner.nextInt();
                    balance = deposit(balance, amount);
                    break;
                case 2:
                    System.out.println("출금액을 입력하세요. ");
                    amount = scanner.nextInt();
                    balance = withdraw(balance, amount);
                    break;
                case 3:
                    System.out.println("현재 잔액: " + balance + "원");
                    break;
                case 4:
                    System.out.println("시스템을 종료 합니다.");
                    return;
                default:
                    System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요.");
            }




        }
    }

    public static int deposit(int balance, int amount){
        balance += amount;
        System.out.println(amount+ "원 입금하였습니다. 현재 잔액: " +balance);
        return balance;
    }

    public static int withdraw(int balance, int amount){
        if (balance >= amount ){
            balance -= amount;
            System.out.println(amount+ "원 출금하였습니다. 현재 잔액: " +balance);
        } else {
            System.out.println(amount+ "원을 출금하려 하였으나, 잔액이 부족합니다.");
        } return balance;

    }
}

 

아까 만들어뒀던 deposit와 withdraw를 가져와서 그대로 사용했다.

이렇게 사용한 것을 보니 변수명도 대충 생각하면 안 되겠다는 생각이 들었다.

매번 num01 을 애용했다,,, 반성하고 고쳐나가자. 

728x90