Bank.java
public abstract class Bank {
public int savedMoney;// 存款
public int year;// 存款年数
public double income;// 存款利息
public double inRate;// 存款利率
public void setRate(double in) {// 设置存款定期利率
inRate = in;
}
public abstract double computerIncome();// 计算存款利息
}
China.java
public class China extends Bank {
public double year;//重新定义存款年数
public double r_ate;//活期利率
public void setr_ate(double l){ //活期存款利率
r_ate=l;
}
public double computerIncome() { // 计算存款利息
int n=2;
if (year > n) {
this.income = n*inRate*savedMoney+r_ate * (year - n) * savedMoney;
}
else if(n>year){
this.income= r_ate *year * savedMoney;
}
else {
this.income = inRate * savedMoney * n;
}
return this.income;
}
}
Commision.java
public interface Commision { //接口
public double inBank();
public String getbankName();
}
CommisionBank.java
public class CommisionBank {
public void show(Commision co){
System.out.println(co.getbankName()+"的存款利息是:");
System.out.println(co.inBank());//接口回调
}
}
Minsheng.java
public class Minsheng implements Commision {
public double year;//定义存款年数
public double in_Rate;//活期利率
public int savedMoney;// 存款
public double income;// 存款利息
public double inRate;// 存款定期利率
public double inBank() {// 计算存款利息
int n=3;
if (year > n) {
this.income = n*inRate*savedMoney+in_Rate * (year - n) * savedMoney;
}
else if(n>year){
this.income= in_Rate *year * savedMoney;
}
else {
this.income = inRate * savedMoney * n;
}
return this.income;
}
public String getbankName(){
return "民生银行";
}
}
Agriculture.java
public class Agriculture extends Bank {
public double year;//重新定义存款年数
public double R_ate;//活期利率
@Override
public double computerIncome() {
int n=1;
if (year > n) {
this.income = n*inRate*savedMoney+R_ate * (year - n) * savedMoney;
}
else if(n>year){
this.income= R_ate *year * savedMoney;
}
else {
this.income = inRate * savedMoney * n;
}
return this.income;
}
}
bankTest.java
import java.util.Scanner;
public class bankTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
民生银行
Minsheng min=new Minsheng();
min.in_Rate=2;
min.inRate=1.5;
System.out.println("请输入存款:");
Scanner s = new Scanner(System.in);
min.savedMoney=s.nextInt();
System.out.println("请输入已存款年数:");
Scanner t = new Scanner(System.in);
min.year = t.nextDouble();
CommisionBank bank=new CommisionBank();
bank.show(min);
/中国银行
China ch = new China();
ch.savedMoney=min.savedMoney;
ch.year = min.year;
ch.setRate(0.5); // 定期利率
ch.setr_ate(1.5); // 活期利率
System.out.println("中国银行存款利息是:");
System.out.println(ch.computerIncome());
农业银行
Bank yin=new Agriculture();//yin是Agriculture对象的上转型对象
System.out.println("农业银行的存款利息是:");
Agriculture agri=(Agriculture)yin;//把上转型对象强制转化为子类对象
agri.R_ate=1.5;
agri.savedMoney=min.savedMoney;
agri.year=min.year;
agri.inRate=0.5;
System.out.println(agri.computerIncome());
}
}
请输入存款:
2000
请输入已存款年数:
3
民生银行的存款利息是:
9000.0
中国银行存款利息是:
5000.0
农业银行的存款利息是:
7000.0