해결된 질문
작성
·
327
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
여기에 질문 내용을 남겨주세요.
=========================================
저는 if, else if로 풀었는데 결과는 같지만 이렇게 작성하면 어떤 점이 다른지, 개선해야 될 부분이 어떤 것이 있는지 궁금합니다! (메인 부분만 가져왔어요!)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int balance = 0;
int amount;
int withdraw;
while (true) {
System.out.println("---------------------------------");
System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료");
System.out.println("---------------------------------");
System.out.print("선택: ");
int menu = sc.nextInt();
sc.nextLine();
if (menu == 1) {
System.out.print("입금액을 입력하세요: ");
amount = sc.nextInt();
balance = deposit(balance, amount);
} else if (menu == 2) {
System.out.print("출금액을 입력하세요: ");
withdraw = sc.nextInt();
balance = withdraw(balance, withdraw);
} else if (menu == 3) {
System.out.println("현재 잔액: " + balance);
} else if (menu == 4) {
System.out.println("시스템을 종료합니다.");
break;
} else {
System.out.println("잘못 입력하셨습니다.");
}
}
}
답변 2
2
안녕하세요. ᄒᄉ님, 공식 서포터즈 OMG입니다.
강의에서는 반복문 안에서 호출하는 if문과 switch문의 가장 큰 차이는 break;
를 사용 시 if문에서는 If문을 감싸는 반복문에 break;가 적용되지만
switch에서는 switch문에서의 break;가 동작합니다.
-
그래서 강의에서는 종료를 위해 return;을 사용했고 ㅎㅅ님의 경우 if문을 사용했기 때문에 break;만 호출하더라도 반복문을 탈출할 수 있게되었습니다.
이 점이 제가 생각했을 때 가장 큰 차이점이고 그 외 코드는 withdraw라는 변수를 하나 더 사용하신 것 같은데, 변수 1개를 더 추가해서 사용하는게 코드 읽기에 더 편하다 생각한다면 추가해도 괜찮다고 생각합니다.
감사합니다.
1