public class Homework08 {
public static void main(String[] args) {
CheckingAccount ca = new CheckingAccount(1000);
ca.deposit(10);
System.out.println(ca.getBalance());
ca.withdraw(9);
System.out.println(ca.getBalance());
System.out.println("==========");
SavingsAccount sa = new SavingsAccount(1000);
sa.deposit(100);
sa.deposit(100);
sa.deposit(100);
System.out.println(sa.getBalance());
sa.deposit(100);
System.out.println(sa.getBalance());
System.out.println("===========");
sa.earnMonthlyInterest();
System.out.println(sa.getBalance());
sa.deposit(100);
System.out.println(sa.getBalance());
/**
* 1009.0
* 999.0
* ==========
* 1300.0
* 1399.0
* ===========
* 1412.99
* 1512.99
*/
}
}
class BankAccount {
private double balance;
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}
public void deposit(double amount) {
balance += amount;
}
public void withdraw(double amount) {
balance -= amount;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
class CheckingAccount extends BankAccount{
private double charge=1;
public CheckingAccount(double initialBalance) {
super(initialBalance);
}
@Override
public void deposit(double amount) {
super.deposit(amount-charge);
}
@Override
public void withdraw(double amount) {
super.withdraw(amount+charge);
}
}
class SavingsAccount extends BankAccount{
private double charge=1;
private int count=3;
private double rate=0.01;
public SavingsAccount(double initialBalance) {
super(initialBalance);
}
@Override
public void deposit(double amount) {
if(count>0){
super.deposit(amount);
}else{
super.deposit(amount-charge);
}
count--;
}
@Override
public void withdraw(double amount) {
if(count>0){
super.withdraw(amount);
}else{
super.withdraw(amount+charge);
}
count--;
}
public void earnMonthlyInterest(){
count=3;
super.deposit(getBalance()*rate);
}
}
obj作业8-银行手续费
最新推荐文章于 2024-07-08 14:58:49 发布