-
은행 입금, 출금, 송금코딩/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