/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称: bank05-2——银行计算利息
* 作 者:孙红蕾
* 完成日期:2013 年 10 月 13 日
* 问题描述:编写程序计算银行利息,并在子类中重写计算利息的方法。
* 输入描述: 无
* 程序输出: 分别输出两个银行的利息,并计算出利息之差。
* 算法设计:略
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int amount=8000;
ConstructionBank bank1=new ConstructionBank();
bank1.savedMoney=amount;
bank1.year=8.236;
bank1.setInterestRate(0.035);
double interest1=bank1.computerInterest();
BankDalian bank2=new BankDalian();
bank2.savedMoney=amount;
bank2.year=8.236;
bank2.setInterestRate(0.035);
double interest2=bank2.computerInterest();
System.out.printf("两个银行利息相差%f元\n",interest2-interest1);
}
}
public class Bank {
int savedMoney;
int year;
double interest;
double interestRate=0.29;
public double computerInterest(){
interest=year*interestRate*savedMoney;
return interest;
}
public void setInterestRate(double rate){
interestRate=rate;
}
}
public class BankDalian extends Bank{
double year;
public double computerInterest(){
super.year=(int)year;
double r=year-(int)year;
int day=(int)(r*1000);
double yearInterest=super.computerInterest();
double dayInterest=day*0.00012*savedMoney;
interest=yearInterest+dayInterest;
System.out.printf("d%元存在建设银行d%年零d%天的利息:f%元\n",savedMoney,super.year,day,interest);
return interest;
}
}
public class ConstructionBank extends Bank{
double year;
public double computerInterest(){
super.year=(int)year;
double r=year-(int)year;
int day=(int)(r*1000);
double yearInterest=super.computerInterest();
double dayInterest=day*0.0001*savedMoney;
interest=yearInterest+dayInterest;
System.out.printf("d%元存在建设银行d%年零d%天的利息:f%元\n",savedMoney,super.year,day,interest);
return interest;
}
}