https://youtu.be/yKZ3t2wOH7A
1. 문제 설명
간단한 입,출금프로그램을 만들면서 출력문, 조건문, 반복문, 메서드가 어떻게 사용되는지 공부할 수 있는 문제이다
package method;
import java.util.Scanner;
public class BalanceProgramQ {
public static void main(String[] args) {
int balance = 0;
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("----------------------------------");
System.out.println(" 1.입금 | 2.출금 | 3.잔액 확인 | 4.종료");
System.out.println("----------------------------------");
System.out.print("선택: ");
int choice = scanner.nextInt();
int amount;
switch (choice) {
case 1:
System.out.print("입금액을 입력하세요: ");
amount = scanner.nextInt();
balance = deposit(balance, amount);
break;
case 2:
System.out.print("출금액을 입력하세요: ");
amount = scanner.nextInt();
balance = withdraw(balance, amount);
break;
case 3:
System.out.println("현재 잔액 : " + balance + "원");
break;
case 4:
System.out.println("시스템을 종료합니다.");
return;
default:
System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요.");
}
}
}
public static int deposit(int balance, int amount){
balance += amount;
System.out.println(amount + "원을 입금하였습니다. 잔액 : " + balance);
return balance;
}
public static int withdraw(int balance, int amount){
if(balance >= amount) {
balance -= amount;
System.out.println(amount +"원을 출금하였습니다. 잔액 : " + balance);
} else {
System.out.println(amount + "원을 출금하려 했으나 잔액이 부족합니다.");
}
return balance;
}
}
2. 요구 사항
- 입금액, 출금액, 잔액 등과 같은 변수를 생성하고 초기화한다.
- 입출력을 사용하여 구분선과 메뉴바를 작성해야 한다.
- 무한 반복문을 통해서 프로그램의 시작과 끝을 만든다.
- 조건문을 사용하여 선택에 따라 다른 메서드에 접근하도록 한다.
- 메서드를 사용하여 입금과 출금 기능을 구현한다.
3.문제 해결
public class MethodEx4 { // 클래스 MethodEx4 선언
public static void main(String[] args) { // 메인 메서드 시작
int balance = 0; // 계좌 잔액을 저장할 변수, 초기값은 0
Scanner scanner = new Scanner(System.in); // 사용자 입력을 받기 위한 Scanner 객체 생성
while (true) { // 무한 반복문 시작
System.out.println("---------------------------------"); // 메뉴 구분선 출력
System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); // 메뉴 옵션 출력
System.out.println("---------------------------------");
System.out.print("선택: "); // 사용자에게 선택 입력 요청
int choice = scanner.nextInt(); // 사용자의 선택을 정수로 받음
int amount; // 입금 또는 출금할 금액을 저장할 변수
switch (choice) { // 사용자의 선택에 따라 분기
case 1: // 1번 선택 시
System.out.print("입금액을 입력하세요: "); // 입금액 입력 요청
amount = scanner.nextInt(); // 입금액을 정수로 받음
balance = deposit(balance, amount); // deposit 메서드 호출하여 잔액 업데이트
break;
case 2: // 2번 선택 시
System.out.print("출금액을 입력하세요: "); // 출금액 입력 요청
amount = scanner.nextInt(); // 출금액을 정수로 받음
balance = withdraw(balance, amount); // withdraw 메서드 호출하여 잔액 업데이트
break;
case 3: // 3번 선택 시
System.out.println("현재 잔액: " + balance + "원"); // 현재 잔액 출력
break;
case 4: // 4번 선택 시
System.out.println("시스템을 종료합니다."); // 종료 메시지 출력
return; // 메인 메서드 종료
default: // 잘못된 선택 시
System.out.println("올바른 선택이 아닙니다. 다시 선택해주세요."); // 에러 메시지 출력
}
}
}
public static int deposit(int balance, int amount) { // 입금 메서드 정의
balance += amount; // 잔액에 입금액 추가
System.out.println(amount + "원을 입금하였습니다. 현재 잔액: " + balance +
"원"); // 입금액과 업데이트된 잔액 출력
return balance; // 업데이트된 잔액 반환
}
public static int withdraw(int balance, int amount) { // 출금 메서드 정의
if (balance >= amount) { // 출금 요청 금액이 잔액보다 작거나 같을 경우
balance -= amount; // 잔액에서 출금액 차감
System.out.println(amount + "원을 출금하였습니다. 현재 잔액: " + balance +
"원"); // 출금액과 업데이트된 잔액 출력
} else {
System.out.println(amount + "원을 출금하려 했으나 잔액이 부족합니다."); // 잔액 부족 시 경고 메시지 출력
}
return balance; // 업데이트된 잔액 반환
}
}
4. 스크립트
잔고 변수를 생성하고 0으로 초기화.
Scanner객체를 생성하여 금액을 입력 받을 수 있도록.
프로그램을 실행하기 위한 while문으로 무한 반복문 생성하여 무한루프 생성
메뉴, 선택 양식 출력문 작성
선택 변수 생성 입력값 대입
반복문 전에 필요한 변수선언과 초기화 입금 출금액 amount변수 선언
프로그램의 조건에 맞게 switch 문으로 case 생성
입출금 메서드 deposit, withdraw 생성
- case1 입금 입금메서드 호출
- case2 출금 출금 메서드 호출
- case3 현재잔액 break를 하면 switch문 밖으로 나오지만 while문으로 프로그램 내 반복
- case4 종료는 return을 하면 메인메서드 밖으로 프로그램 종료
- default는 잘못입력했을때
'유튜브 스크립트 > JAVA' 카테고리의 다른 글
[JAVA | 영상스크립트 | 백문이 불여일타!!] 생성자 (0) | 2024.08.28 |
---|---|
[JAVA | 영상스크립트 | 백문이 불여일타!!] 참조형 (0) | 2024.08.26 |
[JAVA | 영상스크립트 | 백문이 불여일타!!] 클래스와 배열 (0) | 2024.08.26 |
[JAVA | 영상스크립트 | 백문이 불여일타!!] 메서드(리팩토링) (0) | 2024.08.26 |