1、建立Bank类为父类
4个成员变量:
int savedMoney //存款
int year //存款年数(注意类型)
double income //存款利息
double inRate //存款利率
2个方法:
public void setRate(double in) //设置存款利率
public double computerIncome() //计算存款利息
利息=年数*利率*存款
2、建立具体银行类,为Bank类的子类(如中国银行),具体计算存款利率。
实际存取款周期并不一定是个整数,因此在子类中必须要对父类的year 成员变量进行隐藏,重新定义为double。
父类中的computerIncome()方法同样需要重写。
注意:
要将子类中double类型的数据year进行拆分,整数年按照定期存款利率来计算。余下的天数按照活期利率来计算。(意味着子类还要增加一个成员变量:活期利率)
public class Bank {
private int savedMoney;
private int year ;
private double income;
private static double inRate=0.2 ;
public Bank(){
}
public Bank(int s,int y){
savedMoney=s;
year=y;
}
public double computerIncome(){
return year*savedMoney*inRate;
}
public int CunMonety(int num){
return savedMoney+num;
}
public int QunMonety(int num){
return savedMoney-num;
}
public int getSavedMoney() {
return savedMoney;
}
public void setSavedMoney(int savedMoney) {
this.savedMoney = savedMoney;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public double getIncome() {
return income;
}
public double getInRate() {
return inRate;
}
}
public class ChinaBank extends Bank {
private double year;
private static double HINrate=0.1;
public ChinaBank(){
}
public ChinaBank(int s,int y,double ys){
super(s,y);
year=ys;
}
public double getyear() {
return this.year;
}
public void setYear(double years) {
this.year = years;
super.setYear((int)years);
}
public double computerIncome(){
return this.getYear()*this.getInRate()*this.getSavedMoney()+HINrate*(year-this.getYear())*this.getSavedMoney();
}
}
import java.util.Scanner;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ChinaBank ch=new ChinaBank();
System.out.println("先生/女士请输入要存入的金额:");
Scanner sc=new Scanner(System.in);
int money=sc.nextInt();
ch.setSavedMoney(money);
System.out.println("先生/女士请输入储存日期:(年)");
Scanner sc1=new Scanner(System.in);
double day=sc1.nextDouble();
ch.setYear(day);
System.out.println("先生/女士您的利息为:");
System.out.print(ch.computerIncome());
}
}