MyExemption.java
public class MyExemption extends Exception {
String message;
public MyExemption(){
this.message="你的余额不足!";
}
}
Bank.java
abstract class Bank {
double savedMoney; // 存款
double year; // 存款年数(注意类型)
double income; // 存款利息
double inRate;// 死期存款利率
double current;// 活期存款利率
public abstract double computerIncome();
public void savemoney(double savedMoney) {
this.savedMoney += savedMoney;
}
public void bringmoney(double brmoney) throws MyExemption {
if (brmoney > savedMoney) {
throw new MyExemption();
} else
savedMoney -= brmoney;
}
void show() {
System.out.println("你的余额为:" + savedMoney);
}
}
Commision.java
public interface Commision {
public abstract double comision();
}
ChinaBank.java
public class ChinaBank extends Bank implements Commision{
public ChinaBank(){}
public ChinaBank(double savedMoney,double year,double inRate,double current){
this.savedMoney=savedMoney;
this.year=year;
this.inRate=inRate;
this.current=current;
}
public double comision(){
return this.savedMoney/1000000+year*10;
}
public double computerIncome(){
int n=(int)year;
income=n*inRate*savedMoney+(n-year)*current*((n*inRate+1)*savedMoney);
return income;
}
}
NongBank.java
public class NongBank extends Bank implements Commision{
public NongBank(){}
public NongBank(double savedMoney,double year,double inRate,double current){
this.savedMoney=savedMoney;
this.year=year;
this.inRate=inRate;
this.current=current;
}
public double comision(){
return this.savedMoney/102000+year*10;
}
public double computerIncome(){
int n=(int)year;
income=n*inRate*savedMoney+(n-year)*current*((n*inRate+1)*savedMoney);
return income;
}
}
BankText.java
import java.util.*;
public class BankText {
public static void main(String[] args) {
int years;
double money;
Scanner in = new Scanner(System.in);
System.out.print("请输入存款年限:");
years = in.nextInt();
System.out.print("请输入存款金额:");
money = in.nextDouble();
Bank bank = new ChinaBank(money, years, 0.03, 0.0035);
System.out.println("您的利息为"+bank.computerIncome());
Commision com=new ChinaBank(money, years, 0.03, 0.0035);
System.out.println("提成为:"+com.comision());
System.out.print("请输入存款年限:");
years = in.nextInt();
System.out.print("请输入存款金额:");
money = in.nextDouble();
bank = new ChinaBank(money, years, 0.031, 0.003);
System.out.println("您的利息为"+bank.computerIncome());
com=new ChinaBank(money, years, 0.031, 0.003);
System.out.println("提成为:"+com.comision());
try{
bank.bringmoney(200000);
}
catch(MyExemption e){
System.out.println(e.message);
}
}
}