import java.util.Scanner;
public abstract class Bank {
private double savedMoney;
private int year ;
private double income;
private static double inRate=0.02 ;
public abstract double computerIncomes();
public Bank(){
}
public Bank(double s,int y){
savedMoney=s;
year=y;
}
public void saveMoney(double num){
savedMoney=savedMoney+num;
System.out.println(this.savedMoney);
}
public void drawmoney(double money) throws InsufficientFundsException{
if (money > savedMoney) {
throw new InsufficientFundsException();
} else
savedMoney -= money;
}
public double getSavedMoney() {
return savedMoney;
}
public void setSavedMoney(double 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;
}
}
interface Commision {
double computerComm() ;
}
class ChinaBank extends Bank implements Commision {
private double year;
private static double HINrate=0.01;
public ChinaBank(){
}
public ChinaBank(int s,double y1){
super(s,(int)y1);
year=y1;
}
public void setYear(double years) {
this.year = years;
super.setYear((int)years);
}
public double computerIncomes(){
double s;
s=this.getSavedMoney()*this.getYear()*this.getInRate()+this.getSavedMoney()*(this.year-((int)this.year))*HINrate;
return s;
}
public double computerComm() {
if(this.getSavedMoney()>10000)
{
return this.getSavedMoney()*0.001*this.getYear();
}
else
{
return this.getSavedMoney();
}
}
}
class InsufficientFundsException extends Exception {
String s;
public InsufficientFundsException(){
this.s="您的余额不足!";
}
}
class test
{
public static void main(String[] args) {
ChinaBank zhangshan=new ChinaBank(20000,1.5);
System.out.println("请您输入存款金额:");
Scanner reader=new Scanner(System.in);
double money=reader.nextDouble();
zhangshan.saveMoney(money);
System.out.println("利息是:"+zhangshan.computerIncomes());
System.out.println("提成是:"+zhangshan.computerComm());
System.out.println("请您输入取款金额:");
Scanner reader1=new Scanner(System.in);
double money1=reader1.nextDouble();
try{
zhangshan.drawmoney(money1);
}
catch( InsufficientFundsException e){
System.out.println(e.s);
}
System.out.println("您的余额为:"+zhangshan.getSavedMoney());
}
}