银行小系统测试

    xiaoxiao2021-03-25  74

    /*  *程序的版权和版本声明部分:  *程序的版权和版本声明部分:  *Copyright(c)2013,烟台大学计算机学院学生  *All rights reserved.  *文件名称:  *作者:尚振伟  *完成日期:2014年11月11日  *版本号:v0.1  *对任务及求解方法的描述部分:  *输入描述:无  *问题描述:具体要求:     建立Bank类为抽象类。  方法:     抽象方法 computerIncome() //计算存款利息   非抽象方法 saveMoney()  //存钱   非抽象方法 drawMoney() //取钱  建立接口 Commission    方法:   抽象方法 computerComm() //计算提成   建立异常类 InsufficientFundsException  class InsufficientFundsException extends Exception    处理取钱不能超出余额的异常。    具体要求:    建立具体银行类,为Bank类的子类。  方法:    实现Bank类中的抽象方法,计算存款利息  实现接口中的抽象方法,计算存款提成  实现取钱操作时做异常处理。    建立测试类测试实验结果。  *程序输入:  *程序输出:  *问题分析:  *算法设计:  *我的程序:  */   public abstract class Bank {       protected int savedMoney;       protected int year;       protected double income;       protected double inRate;       public void income(int in,int out) throws InsufficientFundsException{           if((in-out)<0){               throw new InsufficientFundsException(in,out);           }           int netIncome=in-out;           System.out.println("本次取款"+out+"成功,账户余额为:"+netIncome);       }       protected 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 void setIncome(double income) {           this.income = income;       }       public double getInRate() {           return inRate;       }       public void setInDate(double inRate) {           this.inRate = inRate;       }       public Bank(){                  }       public Bank(int savedMoney,int year,double inRate){           this.savedMoney=savedMoney;           this.year=year;           this.inRate=inRate;       }       public void setRate(double in){           this.inRate=in;       }       public abstract double computerIncome();   }   [java]  view plain  copy   public class Chinabank extends Bank {       private double year;       private double inRate1;       public void setRate1(double in1){           this.inRate1=in1;       }       public Chinabank(){                  }       public Chinabank(int savedMoney,double year,double inRate,double inRate1){           this.savedMoney=savedMoney;           this.year=year;           this.inRate=inRate;           this.inRate1=inRate1;       }       public double computerIncome(){           income=(int)this.year*this.getInRate()*this.getSavedMoney()+(year-(int)year)*inRate1*this.getSavedMoney();           return income;       }   }   [java]  view plain  copy   public class Rmbank extends Bank implements Commision{       private double year;       private double inRate1;       public Rmbank(){                  }       public Rmbank(int savedMoney,double year,double inRate,double inRate1){           this.savedMoney=savedMoney;           this.year=year;           this.inRate=inRate;           this.inRate1=inRate1;       }       public int calculate(){           int tc;           if(this.getSavedMoney()<=1000){               tc=0;           }           else if(this.getSavedMoney()>1000||this.getSavedMoney()<=1000){               tc=100;           }           else{               tc=500;           }           return tc;       }       @Override       public double computerIncome() {           // TODO Auto-generated method stub           income=(int)this.year*this.getInRate()*this.getSavedMoney()+(year-(int)year)*inRate1*this.getSavedMoney()+this.calculate();           return income;       }      }   [cpp]  view plain  copy   public interface Commision {       public abstract int calculate();   }   [cpp]  view plain  copy   public class InsufficientFundsException extends Exception {       String message;       public InsufficientFundsException(int money,int qum)       {              message="余额不足,取款失败";       }       public String warnMess(){           return message;       }   }   [java]  view plain  copy   import java.util.Scanner;      public class Test {       public static void main(String[] args) {           Bank aaa=new Chinabank(2000,2.5,0.02,0.01);           System.out.println("在中国银行的存款利息为:"+aaa.computerIncome());           Bank bbb=new Rmbank(2000,2.5,0.02,0.01);           Commision ccc;           ccc=new Rmbank();           System.out.println("在人民银行的存款利息加提成为:"+bbb.computerIncome()+ccc.calculate());           Scanner in=new Scanner(System.in);           System.out.println("请输入要取得金额");           int money=in.nextInt();           try{               aaa.income(aaa.savedMoney,money);           }           catch(InsufficientFundsException e){               System.out.println(e.warnMess());           }       }   }  

    结果展示:

    心得体会:第一次使用异常类。

    转载请注明原文地址: https://ju.6miu.com/read-40445.html

    最新回复(0)