ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 은행 입금, 출금, 송금
    코딩/java 2019. 2. 10. 19:46
    반응형

    import java.util.Random;

    public class BankAccount {

     Random rd = new Random();

    private String name, accountNo;

    private int balance;

    private double interest;

     

    public void setName(String n) { name = n;}

    public void setAccountNo(String a) {accountNo = a;}

    public void setBalance(int b) {balance = b;}

    public void setRate(double r) {interest = r;}

     

    public String getName() {return name;}

    public String getAccountNo() {return accountNo;}

    public int balance() {return balance;}

    public double rate() {return interest;}

     

    public String toString() {

    String bank;

    bank = accountNo +" :: " + name + " :: " + balance + ":: " + interest + "%";

    return bank;

     }

     

    private int calcInterest() {

    double interate;

    interate = interest * (double)balance / 100;

    return (int)interate;

     }

     

    private String makeID() {

    return (rd.nextInt(9000) + 1000) + "-" + (rd.nextInt(9000) + 1000);

     }

     

    public BankAccount() {

    this("모름", 0);

     }

     

    public BankAccount(String name, int balance) {

    this(name, balance, 0);

     }

     

    public BankAccount(String name, int balance, double interest) {

    this.name = name;

    this.balance = balance;

    this.interest = interest;

    this.accountNo = makeID();

    }

     

    public boolean deposit(int money) {

    if (money < 0) {

    return false;

    }

     

    this.balance += money;

     

    return true;

     }

     

    public boolean withdraw(int money) {

    if (money > this.balance) {

    return false;

    }

     

    this.balance -= money;

     

    return true;

     }

     

    public static boolean transfer(BankAccount from, BankAccount to, int money) {

    if (money > from.balance) {

    return false;

     }

     

    from.balance -= money;

    to.balance += money;

     

    return true;

     }

    }

     

     

    import java.util.Scanner;

    public class Practice_58 {

     

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

     

    BankAccount b0 = new BankAccount("김동덕", 100, 3.1);

    BankAccount b1 = new BankAccount("홍길동", 2000, 2.15);

    BankAccount b2 = new BankAccount("성춘향", 500, 2.05);

     

    System.out.println("은행 계좌 모두의 정보입니다.");

    System.out.println(b0.toString());

    System.out.println(b1.toString());

    System.out.println(b2.toString() + "\n");

     

    System.out.print("계좌 " + b0.getAccountNo() + "에 입금할 금액을 입력하세요: ");

     

    if(b0.deposit(input.nextInt())) {

      System.out.println("입금이 성공했습니다.\n");

    } else {

      System.out.println("입금이 실패했습니다.\n");

    }

     

    System.out.println("은행 계좌 모두의 정보입니다.");

    System.out.println(b0.toString());

    System.out.println(b1.toString());

    System.out.println(b2.toString() + "\n");

     

    System.out.print("계좌 " + b1.getAccountNo() + "에 출금할 금액을 입력하세요: ");

     

    if(b1.withdraw(input.nextInt())) {

      System.out.println("출금이 성공했습니다.\n");

    } else {

      System.out.println("출금이 실패했습니다.\n");

    }

     

    System.out.println("은행 계좌 모두의 정보입니다.");

    System.out.println(b0.toString());

    System.out.println(b1.toString());

    System.out.println(b2.toString() + "\n");

     

    System.out.print("계좌 " + b1.getAccountNo() + "에서 계좌 " + b2.getAccountNo() + "으로 송금할 금액을 입력하세요: ");

     

    if(BankAccount.transfer(b1, b2, input.nextInt())) {

    System.out.println("송금이 성공했습니다.\n");

    } else {

    System.out.println("송금이 실패했습니다.\n");

    }

     

    System.out.println("은행 계좌 모두의 정보입니다.");

    System.out.println(b0.toString());

    System.out.println(b1.toString());

    System.out.println(b2.toString() + "\n");

     

    input.close();

    }

    }

     

     

    결과:

     

    반응형

    '코딩 > java' 카테고리의 다른 글

    학생 정보(상속)  (0) 2019.02.10
    동물 (상속 연습)  (0) 2019.02.10
    영화 비교 (생성자)  (0) 2019.02.10
    날짜 비교(생성자)  (0) 2019.02.08
    비행기 정보(생성자)  (0) 2019.02.08
Designed by Tistory.