은행계좌(생성자)
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 = "이름: " + name + "\n계좌 번호: " + accountNo + "\n잔액: " + balance + "원\n이자율: " + interest + "%\n이자: " + calcInterest();
return bank;
}
private int calcInterest() {
double interate;
interate = interest * (double)balance / 100;
return (int)interate; //함수 반환값에 맞추어 interate를 int형으로 변환시켜야 한다
}
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 class Practice_54 {
public static void main(String[] args) {
BankAccount b1 = new BankAccount();
BankAccount b2 = new BankAccount("김동덕", 100);
BankAccount b3 = new BankAccount("홍길동", 2000, 2.15);
System.out.println("첫 번째 은행 계좌의 정보입니다.");
System.out.println(b1.toString() + "\n");
System.out.println("두 번째 은행 계좌의 정보입니다.");
System.out.println(b2.toString() +"\n");
System.out.println("세 번째 은행 계좌의 정보입니다.");
System.out.println(b3.toString() +"\n");
}
}
결과: