java如何实现简单银行管理系统

发布时间:2021-09-26 18:02:13 作者:小新
来源:亿速云 阅读:139

这篇文章主要介绍了java如何实现简单银行管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体内容如下

账户类

package Account; public abstract class Account {  private int id;//账号  private String password;//密码  private String name;//姓名  private String personId;//身份证号码  private String email;//邮箱  private double ceiling;//贷款属性  private static double balance;//账户余额    public Account() {}   public Account(int id, String password, String name, String personId,      String email, double balance,double ceiling) {    super();    this.id = id;    this.password = password;    this.name = name;    this.personId = personId;    this.email = email;    this.balance = balance;    this.ceiling = ceiling;  }  public Account(int id, String password, String name, String personId,      String email) {    super();    this.id = id;    this.password = password;    this.name = name;    this.personId = personId;    this.email = email;  }  public Account(int id, String password) {    this.id =id;    this.password = password;  }  //开户函数  public Account openAccount() {    return null;  }  //显示开户成功的信息函数  public void show() {    System.out.println("账户ID为 : " + id + "密码为: " + password + "姓名为: " + name + "身份证号码为: " + personId + "邮箱为:  " + email);  }  //登入函数  public void enter() {      }  //取款方法 为抽象方法  public abstract void deposit(double money);       //存款方法  public static void withdraw(double money) {    balance = balance + money;      System.out.println("您已经存入" + money + "元,账户余额为" + balance );  }//  public abstract void requestLoan(double money);   public double getCeiling() {    return ceiling;  }   public void setCeiling(double ceiling) {    this.ceiling = ceiling;  }   public int getId() {    return id;  }  public void setId( int id) {    this.id = id;  }   public String getPassword() {    return password;  }   public void setPassword(String password) {    this.password = password;  }   public String getName() {    return name;  }   public void setName(String name) {    this.name = name;  }   public String getPersonId() {    return personId;  }   public void setPersonId(String personId) {    this.personId = personId;  }   public String getEmail() {    return email;  }   public void setEmail(String email) {    this.email = email;  }   public double getBalance() {    return balance;  }  public void setBalance(double balance) {    this.balance = balance;  }     }

Bank类

package Account; import java.util.Scanner; public class Bank {  int i;// 账户编号  private Account[] account = new Account[100];// 账户对象数组  private int accountNum = 0;// 账户数量  private int type;// 账户类型  private String password1;// 确认密码  int id = 100000;//第一个开户账号  int j = 1;//常量控制开户账号每次+1  Scanner sc = new Scanner(System.in);  int insert;   public Bank() {  }   // 主界面  public void mainView() {    System.out.println("******欢迎登入银行管理系统********");    System.out.println("******请选择业务***************");    System.out.println("******1、创建账户**************");    System.out.println("******2、登入账户**************");  }   //功能选择函数  public void select() {    int select = sc.nextInt();    switch(select) {    case 1 : this.openAccount();    break;    case 2 : this.enter();    break;    }    }   // 开户函数  public Account openAccount() {    System.out.println("请输入您的姓名");    String name = sc.next();     //    System.out.println("请输入您的卡号");    //    int id = sc.nextInt();    System.out.println("请输入您的密码");    String password = sc.next();     System.out.println("请再次确认您的密码");    String password1 = sc.next();    while (!password1.equals(password)) {      System.out.println("对不起,两次输入的密码不一致,请重新输入");      System.out.println("请重新输入您的密码");      password = sc.next();      System.out.println("请再次确认您的密码");      password1 = sc.next();    }     System.out.println("请输入您的身份证号码");    String personId = sc.next();     System.out.println("请输入您的邮箱");    String email = sc.next();     System.out.println("请输入您的账户类型");    System.out.println("1、存储卡            2、信用卡");    type = sc.nextInt();    switch (type) {    case 1:      account[accountNum] = new LoanSavingAccount(100000 + j, password, name,          personId, email, 0, 0); // 创建存储卡账户对象,初始余额为0,默认贷款金额为0元      account[accountNum].show();//调用显示账户信息函数      System.out.println("卡类型为:存储卡");      accountNum++;      j++;      return account[accountNum];    case 2:      account[accountNum] = new LoanCreditAccount(100000 + j, password, name,          personId, email, 0, 0, 5000); // 创建信用卡账户对象,多一个透资属性,初始透资金额为5000元      account[accountNum].show();//调用显示账户信息函数a      System.out.println("卡类型为: 信用卡");      accountNum++;      j++;      return account[accountNum];    }    return null;   }   // System.out.println("恭喜您,创建账号成功啦!!!" + "您的账号名为"+ account.getId() +  // "您的账户类型为" + type);  // return account;   // 登入函数  public Account enter() {    System.out.println("请输入您的银行卡号");    int id = sc.nextInt();    System.out.println("请输入您的密码");    String password = sc.next();    if (accountNum == 0) {      System.out.println("未注册账户,请先注册!");      this.openAccount();      this.mainView();      this.select();    }     boolean flag = false;    for (i = 0; i < accountNum; i++) {      if (id == account[i].getId() && password.equals(account[i].getPassword())) {//判断Id和输入的账户密码是否一致        flag = true;        break;      }    }    if (!flag) {      System.out.println("登入失败!!!");    }    if (flag) {      System.out.println("登入成功!!!!");      do {        System.out.println("请选择业务");        System.out.println("******1、存款*****************");        System.out.println("******2、取款*****************");        System.out.println("******3、贷款*****************");        System.out.println("******4、还款*****************");        System.out.println("******3、按任意键退出*************");        insert = sc.nextInt();        switch(insert) {        case 1 :             System.out.println("******请输入存款金额*****************");          int money = sc.nextInt();          account[i].withdraw(money);                          break;         case 2:   System.out.println("******请输入取款金额*****************");        money = sc.nextInt();        account[i].deposit(money);//调用取款方法        break;         case 3:   judge();               break;          case 4:   repay();               break;        }      } while(insert == 1 || insert == 2 || insert == 3 || insert == 4);     }      return account[i];    }   //存款方法  public void withdraw() {    System.out.println("请输入存款金额");    int money = sc.nextInt();    account[i].withdraw(money);  }  //取款方法  public void deposit() {    System.out.println("请输入取款金额");    int money = sc.nextInt();    account[i].deposit(200);  }   //计算银行余额总数方法  public void Accountsum() {    double savSum = 0;    for (int i = 0; i < accountNum; i++) {      savSum += account[i].getBalance();    }  }   //判断是LoanSavingAccount 类还是LoacCreditAccount  //贷款方法  public void judge() {    System.out.println("******请输入贷款金额*****************");    int money = sc.nextInt();    if (account[accountNum - 1] instanceof LoanSavingAccount) {      LoanSavingAccount a = (LoanSavingAccount) account[accountNum - 1];      a.requestLoan(money);    }else {      LoanCreditAccount b = (LoanCreditAccount) account[accountNum -1 ];      b.requestLoan(money);      System.out.println("成功调用了贷款方法");    }   }   //还款方法  public void repay() {    System.out.println("******请输入还款金额*****************");    int money = sc.nextInt();    if (account[accountNum - 1] instanceof LoanSavingAccount) {//      System.out.println("判断过了1");      LoanSavingAccount a = (LoanSavingAccount) account[accountNum - 1];      a.payLoan(money);    }else {//      System.out.println("判断过了2");      LoanCreditAccount b1 = (LoanCreditAccount) account[accountNum - 1];      b1.payLoan(money);    }   }  }

信用卡类

package Account;  public class CreditAccount extends Account {  //信用卡  private double overdraft;//透资属性    public CreditAccount() {}   public CreditAccount(int id, String password, String name, String personId,String email, double balance, double ceiling, double overdraft) {    super(id,password,name, personId, email, balance, ceiling);    this.overdraft = overdraft;//多出一个透资属性  }      //  public void withdraw(double money) {//    super.setBalance(super.getBalance() + money);//    System.out.println("你的卡号为" + super.getId() +"的卡,您已经存入" + money + "元,账户余额为" + super.getBalance() );//  }  public void deposit(double money) {//信用卡取款方法    if ((super.getBalance() + overdraft) >= money) {       super.setBalance(super.getBalance() - money) ;       System.out.println("您取了" + money + "钱,您的余额为" + super.getBalance());    }else System.out.println("对不起您的余额和透支额度不足!");          } //  @Override//  public void requestLoan() {//    // TODO Auto-generated method stub//    //  }   }  package Account; public interface General {  void requestLoan(double money);//贷款方法  void payLoan(double money);//还款//  void getLoan();//获取用户总额   }

信用卡子类

package Account; import java.util.Scanner;  public class LoanCreditAccount extends CreditAccount implements General {  Scanner sc = new Scanner(System.in);   public LoanCreditAccount(){}  public LoanCreditAccount(int id, String password, String name, String personId,String email, double balance, double ceiling,double overdraft) {    super(id, password, name, personId, email, balance, ceiling, overdraft);  }  public void requestLoan(double money) {//贷款方法    if ( 0 <= money&& money <= 10000) {//贷款上限为10000      System.out.println("贷款成功,您的贷款金额为: " + money);      System.out.println("您还能贷款的金额为: " + (10000 - money));      super.setCeiling(money);//把贷款的钱传给贷款属性      super.setBalance(super.getBalance() + money);//更新余额值      System.out.println("您现在的余额为: " + super.getBalance());    }else {      System.out.println("对不起您的额度不够,贷款失败!");    }  }  public void payLoan(double money) {//还款    //三个判断条件:1. 还款金额小于等于贷款金额  2.还款金额小于所剩余额 3.还款金额大于0        if (super.getBalance() >= money && money <= super.getCeiling() && money >= 0) {      super.setBalance(super.getBalance() - money); //更新余额      super.setCeiling(super.getCeiling() - money);      System.out.println(" 您现在的余额为" + super.getBalance());      if (super.getCeiling() ==0) {        System.out.println("您已经全部还清!!谢谢光临!!");      }else {                System.out.println("您已经还了" + money +"您还需要还" + super.getCeiling() );      }    }else {      System.out.println("对不起,您的账户余额不足或者输入的还款额度超出范围!");    }      }  public void getLoan() {//获取用户贷款总额    double savSum = 0;  }; }

package Account; import java.util.Scanner; import com_Day_7_11.SavingAccount;  //存储卡子类public class LoanSavingAccount extends SavingAccount implements General{  Scanner sc = new Scanner(System.in);    public LoanSavingAccount(int id, String password, String name,      String personId, String email, double balance, double ceiling) {    super(id, password, name, personId, email, balance, ceiling);      }  public void requestLoan(double money) {//贷款方法    if ( 0 <= money&& money <= 10000) {//贷款上限为10000      System.out.println("贷款成功,您的贷款金额为: " + money);      System.out.println("您还能贷款的金额为: " + (10000 - money));      super.setCeiling(money);//把贷款的钱传给贷款属性      super.setBalance(super.getBalance() + money);//更新余额值      System.out.println("您现在的余额为: " + super.getBalance());    }else {      System.out.println("对不起您的额度不够,贷款失败!");    }  }  public void payLoan(double money) {//还款    //三个判断条件:1. 还款金额小于等于贷款金额  2.还款金额小于所剩余额 3.还款金额大于0        if (super.getBalance() >= money && money <= super.getCeiling() && money >= 0) {      super.setBalance(super.getBalance() - money); //更新余额      super.setCeiling(super.getCeiling() - money);      System.out.println(" 您现在的余额为" + super.getBalance());      if (super.getCeiling() ==0) {        System.out.println("您已经全部还清!!谢谢光临!!");      }else {                System.out.println("您已经还了" + money +"您还需要还" + super.getCeiling() );      }    }else {      System.out.println("对不起,您的账户余额不足或者输入的还款额度超出范围!");    }      } }

主界面测试函数

package Account; import java.util.Scanner;  public class Text {  public static void main(String[] args) {    Scanner sc = new Scanner(System.in);     Bank b = new Bank();    while (true) {      b.mainView();//调用界面函数      int select = sc.nextInt();      switch(select) {      case 1: b.openAccount();//创建账户        break;      case 2: b.enter();//登入          break;        default: System.out.println("选择业务异常,请重新选择");      break;      }      System.out.println("是否继续选择其他业务");      System.out.println("退出请按  0");      System.out.println("继续选择其他业务请按 1");      select = sc.nextInt();      if (select == 0) {        break;      }    }   } }

感谢你能够认真阅读完这篇文章,希望小编分享的“java如何实现简单银行管理系统”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. python实现简单银行管理系统
  2. python怎么实现银行管理系统

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:如何使用java实现简单猜数字游戏

下一篇:linux系统安全及应用是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》