900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java模拟银行存取_JAVA模拟银行存钱 取钱操作以及计算利息操作

java模拟银行存取_JAVA模拟银行存钱 取钱操作以及计算利息操作

时间:2023-08-30 07:26:58

相关推荐

java模拟银行存取_JAVA模拟银行存钱 取钱操作以及计算利息操作

/*

*程序的版权和版本声明部分:

*程序的版权和版本声明部分:

*Copyright(c),烟台大学计算机学院学生

*All rights reserved.

*文件名称:

*作者:尚振伟

*完成日期: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();

}

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;

}

}

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;

}

}

public interface Commision {

public abstract int calculate();

}

public class InsufficientFundsException extends Exception {

String message;

public InsufficientFundsException(int money,int qum)

{

message="余额不足,取款失败";

}

public String warnMess(){

return message;

}

}

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("在中国银行的存款利息为:"+puterIncome());

Bank bbb=new Rmbank(2000,2.5,0.02,0.01);

Commision ccc;

ccc=new Rmbank();

System.out.println("在人民银行的存款利息加提成为:"+puterIncome()+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());

}

}

}

结果展示:

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。