작성
·
116
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
섹션 9 문제와 풀이 2의 풀이를 switch문을 안 쓰고 if 문을 써서 다음과 같이 풀었는데 맞는 걸까요?
추가로, 이 문제에서 풀이로 switch문을 더 추천하는 걸까요?
package method.ex;
import java.util.Scanner;
public class MethodEx4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int balance = 0;
while (true) {
System.out.println("--------------------------------------");
System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료");
System.out.println("--------------------------------------");
System.out.print("선택: ");
int choice = scanner.nextInt();
if (choice == 1) {
System.out.print("입금액을 입력하세요: ");
int depositAmount = scanner.nextInt();
balance = deposit(depositAmount, balance);
} else if (choice == 2) {
System.out.print("출금액을 입력하세요: ");
int withdrawAmount = scanner.nextInt();
balance = withdraw(withdrawAmount, balance);
} else if (choice == 3) {
System.out.println("현재 잔액: " + balance + "원");
} else if (choice == 4) {
System.out.println("시스템을 종료합니다.");
break;
} else {
System.out.println("번호를 잘못 입력하였습니다. 다시 선택해주세요.");
}
}
}
public static int deposit(int depositAmount, int balance) {
balance += depositAmount;
System.out.println(depositAmount + "원을 입금하였습니다. 현재 잔액: " + balance + "원");
return balance;
}
public static int withdraw(int withdrawAmount, int balance) {
if (balance > -withdrawAmount) {
balance -= withdrawAmount;
System.out.println(withdrawAmount + "원을 출금하였습니다. 현재 잔액: " + balance + "원");
} else {
System.out.println(withdrawAmount + "원을 출금하려 했으나 잔액이 부족합니다.");
}
return balance;
}
}
감사합니다!
답변 2
0
안녕하세요. dkrdj5772님, 공식 서포터즈 OMG입니다.
if문의 경우 if(조건) 에서 조건에 복잡한 로직을 추가할 수 있습니다만,
switch문의 경우
switch case 1: case 2: case 3 혹은 case 'A' case 'B' case 'C' 와 같이 단일한 값만을 포함시킬 수 있습니다.
따라서 메뉴번호 1,2,3을 고르는 본 강의 예제의 경우에는 case 문이 더 적합해 보입니다.
그리고
이 부분은 강의와 차이가 있네요.
잔액: 200원, 출금액:300원일 때 -300원과 200원이 비교 되어 강의와의 차이가 있습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
dkrdj5772님의 질문에 대하여, 메서드와 조건문(특히 if문 대 switch문)에 관한 교육 내용에 관련된 기존 질문 링크를 찾았습니다. 이 링크는 선택된 문제 해결 방법(if 문 대비 switch 문)에 대한 비교와 정보를 제공할 수 있습니다.
break
와 return
을 사용하는 방식의 차이점에 대해 설명하고 있습니다. 이는 님의 질문과 관련이 있어 보입니다.위 기존 답변에는 if문과 switch문을 사용할 때의 차이점과 각각의 사용 케이스에 대한 설명이 포함되어 있습니다. 이를 통해 님께서 사용하신 if 문법의 적합성 및 switch 문 사용의 장단점을 이해하는데 도움이 될 것입니다. 프로그래밍에서 if문과 switch문의 사용 선택은 상황에 따라 다르지만, 가독성 및 특정 조건에 따른 실행 분기를 명확하게 구분해야 할 때 switch문을 선호하곤 합니다. 그러나 dkrdj5772님이 제시한 코드도 프로그램의 기능을 정상적으로 수행할 수 있는 유효한 방법 중 하나입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.