목차
1. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 1(윤년 계산기)
2. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 2(주사위 게임)
3. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기)
4. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 4(청구 금액 계산기)
5. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 5(다독왕)
6. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 6(피보나치 수)
7. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 7(출입증)
8. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 8(방정식)
9. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 9(숫자 맞추기 게임)
10. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 10(만원의 행복)
11. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행)
자바의 조건문, 반복문을 이용한 문제 풀이를 진행해보겠습니다~
문제 11) 은행
아래 출력 예와 같이 예금, 출금, 잔고 조회가 가능한 프로그램을 작성하라.
단, 잔고보다 많은 금액을 인출하려 하면 "잔고 부족" 알림과 부족한 금액을 출력하도록 하며,
한 가지 업무를 완료하면 다시 메인 메뉴로 돌아가 종료(4번)를 입력할 때까지 반복한다.
조건) do-while문과 switch-case문을 활용할 것
👉 출력방법
1.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
2. 선택> 1
3. 예금액>10000
4.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
5. 선택> 2
6. 출금액>3500
7.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
8. 선택> 3
9. 잔고>6500
10.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
11. 선택> 2
12. 출금액>10000
13. 잔고 부족
14. 부족금액 : 3500원
15.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
16. 선택> 3
17. 잔고>6500
18.
--------------------------------
1.예금 | 2.출금 | 3.잔고 | 4.종료
--------------------------------
19. 선택> 4 프로그램 종료
👉 문제 풀이를 위한 Flow Chart
👉 문제 해답 코드
import java.util.Scanner; public class Bank { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num; int totalMoney = 0; do { System.out.println("---------------------"); System.out.println("1.예금|2.출금|3.잔고|4.종료"); System.out.println("---------------------"); System.out.print("선택> "); num = sc.nextInt(); switch (num) { case 1: System.out.print("예금액> "); int inMoney = sc.nextInt(); totalMoney += inMoney; break; case 2: System.out.print("출금액> "); int outMoney = sc.nextInt(); if(totalMoney < outMoney) { System.out.println("잔고부족"); System.out.println("부족금액: " + (outMoney - totalMoney) + "원"); } else { totalMoney -= outMoney; } break; case 3: System.out.println("잔고> " + totalMoney + "원"); break; } } while (num != 4); System.out.println("프로그램 종료"); sc.close(); } }
👉 코드 해설
1. 입력을 위한 java.util의 Scanner 클래스를 가져온다.
2. 인스턴스 생성 후 변수 num 선언 및 totalMoney 변수 선언 및 초기값을 0으로 지정한다.
3. 번호(1~4)를 입력할 수 있도록 문구를 출력한 후 num을 통해 번호를 입력받는다.
4. switch-case에서 num 값을 통해 조건을 확인한다.
4-1) num이 1이라면, 예금액을 전체 금액에 더한다.
4-2) num이 2이라면, 출금액을 전체 금액에서 뺀다.
4-2-1) 만약, 잔액이 없거나 적으면 잔고 부족 및 부족 금액이 나타난다.
4-3) num이 3이라면, 잔고를 출력한다.
5. 만약 num이 4가 아니라면 while문을 계속 실행한다.
6. num이 4라면 프로그램을 종료한다.
문제 풀이 시 do-while문을 이용했고 금액을 입금하고, 출력하는 코드를 구현해보았습니다.
switch-case를 이용해 조건에 따라서 코드들을 실행할 수 있도록 만들어보았습니다. 생각보다 쉽게 구현할 수 있네요!!
혹시나 코드를 보고 좀 더 간단하게 풀이하실 수 있는 분들은 답글 부탁드려요!!!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Java' 카테고리의 다른 글
[java] 소인수 분해 코드 구현 방법 (0) | 2024.06.19 |
---|---|
[java] Set, HashSet 정렬(순서) 방법 (0) | 2024.06.19 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 10(만원의 행복) (1) | 2024.01.09 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 9(숫자 맞추기 게임) (0) | 2024.01.08 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 8(방정식) (1) | 2024.01.08 |