강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

s0_8h님의 프로필 이미지
s0_8h

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이2

메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?

작성

·

18

0

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================

package method.ex;

import java.util.Scanner;

public class MethodEx4 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int balance = 0;

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

            int userChoice = scan.nextInt();
            System.out.println( "선택: "+ userChoice);

            if (userChoice == 1) {
                System.out.print("입금액을 입력하세요: ");
                int depositAmount = scan.nextInt();

                balance = deposit(balance, depositAmount);
            }
            else if (userChoice == 2) {
                System.out.print("출금액을 입력하세요: ");
                int withdrawAmount = scan.nextInt();

                balance = withdraw(balance, withdrawAmount);
            }
            else if (userChoice == 3) {
                System.out.println("현재 잔액: " + balance);
            }
            else {
                System.out.println("시스템을 종료합니다.");
                break;
            }
        }
    }

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

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

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

s0_8h님, 질문해주신 내용에 대한 답변을 드리겠습니다. 현재 제공해주신 코드는 if 문을 사용하여 은행 시스템의 간단한 기능을 구현한 예시입니다. switch 문 대신 if 문을 사용하셨는데, 이는 복잡도가 낮고 조건이 간단한 경우에는 문제가 되지 않습니다. switch는 대개 명확한 값을 기준으로 분기를 처리할 때 유용하지만, if-else 문도 동일한 기능을 수행할 수 있으며 직관적으로 읽기 쉬울 수 있습니다.

이와 관련된 기존 질문과 답변에서는 if 문과 switch 문 사용의 장단점에 대해 논의한 바가 있습니다. 코드 가독성과 사용 용도에 맞춰 선택하시면 됩니다. switch 문은 조건이 많을 때 더 보기 좋을 수 있지만, if 문도 충분히 적합한 해결법임을 기억하세요.

관련된 기존 답변 링크를 주세요:
- 메서드 문제와 풀이 2: 이 답변에서는 if-else 문 대신 switch 문을 권장하는 경우와 그 차이점에 관해 설명하고 있습니다.
- 추가적으로 breakreturn의 차이점에 대해서도 다루고 있어 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

s0_8h님의 프로필 이미지
s0_8h

작성한 질문수

질문하기