千家信息网

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

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了java如何实现简单银行管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下账户类package Ac
千家信息网最后更新 2025年02月01日java如何实现简单银行管理系统

这篇文章主要介绍了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如何实现简单银行管理系统"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

账户 输入 方法 余额 函数 密码 信用 信用卡 金额 选择 银行 业务 存款 类型 账号 成功 存储卡 属性 篇文章 存储 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 mamp备份数据库 计算机网络安全技术学习 查看数据库中表的具体内容 学网络安全的大学生怎么创业 东二环泰禾软件开发招聘 华为云服务器可以自定义系统吗 浦东新区自动化软件开发案例 08674计算机网络技术 在数据库的概念模型中 .jdb 数据库 扬州网络安全准入控制价格 高防服务器租用泰海 客户端有数据库才能连接数据库吗 手游网络修改数据库 湖南正规软件开发服务价钱 数据库技术怎样才能考过 我的世界pe怎么登陆服务器 生物技术常用全文数据库 玉溪师范学院网络安全 比零少的数据库 黑龙江省网络安全公益广告 计算机网络技术试题和答案 软件开发属于工业还是商业 abap连接数据库找最大值 网络安全微课怎么制作 面向2030网络技术支持包括 企业网络安全论文致谢自己 石家庄市网络安全培训 蔡甸区全民营销系统软件开发 内蒙古网络安全等级保护
0