본문 바로가기

BackEnd/Java

[JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행)

728x90
반응형

 

목차

                                                                                                                           

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를 이용해 조건에 따라서 코드들을 실행할 수 있도록 만들어보았습니다. 생각보다 쉽게 구현할 수 있네요!!

 

혹시나 코드를 보고 좀 더 간단하게 풀이하실 수 있는 분들은 답글 부탁드려요!!!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형