반응형
package method.ex;
import java.util.Scanner;
public class MethodPrac {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choose;
int bankAccount = 0;
int deposit;
int withdraw;
while (true){
System.out.println("---------------------------------------");
System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");
System.out.println("---------------------------------------");
System.out.print("선택: ");
choose = scanner.nextInt();
if(choose == 1 ){
System.out.print("입금액을 입력하세요: ");
deposit = scanner.nextInt();
bankAccount += deposit;
System.out.println(deposit+"을 입금하였습니다. 현재 잔액: "+bankAccount+"원");
}
if(choose == 2){
System.out.print("출금액을 입력하세요: ");
withdraw = scanner.nextInt();
if((bankAccount-withdraw) < 0){
System.out.println(withdraw+"를 출금하려 했으나 잔액이 부족합니다.");
}else {
bankAccount -= withdraw;
System.out.println(withdraw+"를 출금하였습니다. 현재 잔액: "+bankAccount+"원");
}
}
if (choose == 3){
System.out.println("현재 잔액: "+bankAccount+"원");
}
if (choose == 4){
System.out.println("시스템을 종료합니다.");
break;
}
}
}
}
위와 같은 예제를 메서드를 통해 리팩토링 하면 아래와 같다
package method.ex;
import java.util.Scanner;
public class MethodPrac {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choose;
int bankAccount = 0;
int withdraw;
int money;
while (true) {
System.out.println("---------------------------------------");
System.out.println("1. 입금 | 2. 출금 | 3. 잔액 확인 | 4. 종료");
System.out.println("---------------------------------------");
System.out.print("선택: ");
choose = scanner.nextInt();
if (choose == 1) {
System.out.print("입금액을 입력하세요: ");
money = scanner.nextInt();
bankAccount += deposit(bankAccount, money);
}
if (choose == 2) {
System.out.print("출금액을 입력하세요: ");
withdraw = scanner.nextInt();
bankAccount = withdraw(bankAccount, withdraw);
}
if (choose == 3) {
System.out.println("현재 잔액: " + bankAccount + "원");
}
if (choose == 4) {
System.out.println("시스템을 종료합니다.");
break;
}
}
}
public static int deposit(int bankAccount, int money) {
bankAccount += money;
System.out.println(money + "를 입금하였습니다. 현재 잔액: " + bankAccount + "원");
return bankAccount;
}
public static int withdraw(int bankAccount, int money) {
if ((bankAccount - money) < 0) {
System.out.println(money + "를 출금하려 했으나 잔액이 부족합니다.");
} else {
bankAccount -= money;
System.out.println(money + "를 출금하였습니다. 현재 잔액: " + bankAccount + "원");
}
return bankAccount;
}
}
뭔가 조금 난잡하긴 하지만 입출금에 대한 메서드를 활용하였다
반응형
'공부 > Java' 카테고리의 다른 글
자바 클래스 (0) | 2024.08.27 |
---|---|
자바 메서드 관련 정리 (0) | 2024.08.27 |
자바 메서드 오버로딩 (0) | 2024.08.26 |
자바 메서드와 형변환 (0) | 2024.08.26 |
자바 메서드 (0) | 2024.08.26 |