Java基础课程设计-模拟ATM银行管理系统《控制台版本》

前言介绍:

最近很多同学找我帮忙做一些课程设计或Web前端大作业、其中控制台项目应该是初学者必须经历的一个过程、作为java初学者这个控制台版本的模拟ATM银行管理系统十分合适、用到的技术也是最简单的JavaList集合、变量的声明、对象的创建、一些基本的while语句、switch语句、循环遍历等基础语法。一个最基础版本的控制台模拟ATM银行管理系统也就是CRUD功能、 直接上完整代码****

创建抽象类Card类

abstract class Card {int cardId; public Card() {super();}public Card(int cardId) {super();this.cardId = cardId;}public abstract String getCardId();public abstract void setCardId(int cardId); }

创建普通银行类继承Card

public class CommonCard extends Card{public CommonCard() {super();}public CommonCard(int cardId) {super();this.cardId = cardId;}@Overridepublic String getCardId() {return “普通银行卡卡号为:”+cardId;}@Overridepublic void setCardId(int cardId) {this.cardId = cardId;} }

创建普通信用卡继承Card

package com.railway.modules.base.test;public class CreditCard extends Card{public CreditCard() {super();}public CreditCard(int cardId) {super(cardId);}@Overridepublic String getCardId() {return “信用卡卡号为:”+cardId;}@Overridepublic void setCardId(int cardId) {this.cardId = cardId;}}

创建普通医保卡继承Card

package com.railway.modules.base.test;public class MedicalInsuranceCard extends Card{public MedicalInsuranceCard() {super();}public MedicalInsuranceCard(int cardId) {super(cardId);}@Overridepublic String getCardId() {return “医保卡卡号为:”+cardId;}@Overridepublic void setCardId(int cardId) {this.cardId = cardId;} }

ATM主要方法业务类逻辑实现

package com.railway.modules.base.test;import java.util.Scanner;public class ATM {Scanner input = new Scanner(System.in);private User[] user=new User[100];User atm = new User();private User usr;private int accountId = 1;private Card card; public void Select() { while(true) {System.out.println(“=======ATM管理系统=======”);System.out.print(“1.开户2.登录3.取款4.存款5.余额查询6.修改密码7.查看用户信息8.退出登录9.退出系统请选择需要选择的项目:”);switch(input.nextInt()) {case 1:setAccount();//开户break;case 2:usr=userLogin();//登录break;case 3:drawMoney();//取款break;case 4:depositMoney();//存款break;case 5:showBalance();//余额查询break;case 6:revisePassword();//修改密码break;case 7:lookAccount();//查看用户信息break;case 8:cancel();//退出登录break;case 9:System.out.println(“=======================”);System.out.println(“欢迎下次登录该系统!”);//退出系统System.exit(0);break;default:System.out.println(“=======================”);System.out.println(“输入错误!请重新输入!”);break;}}} public void setAccount(){//开户if (usr!=null) {System.out.println(“=======================”);System.out.println(“请先退出上一个账户!”);}else{boolean x = true;while(x) {System.out.println(“=======================”);System.out.print(“1.普通银行卡2.信用卡3.医保卡0.返回请选择开户类型:”);switch(input.nextInt()) {case 1:card = new CommonCard();card.setCardId(accountId);x=false;break;case 2:card = new CreditCard();card.setCardId(accountId);x=false;break;case 3:card = new MedicalInsuranceCard();card.setCardId(accountId);x=false;break;case 0:Select();default:System.out.println(“=======================”);System.out.println(“输入错误!请重新输入!”);break;}} System.out.print(“请输入姓名:”);String name=input.next();System.out.print(“请输入性别:”);String sex=input.next();System.out.print(“请输入年龄:”);String age=input.next();System.out.print(“请输入身份证号:”);String ID=input.next();System.out.print(“请输入银行卡要设置的密码:”);String password1=input.next();System.out.print(“请再次输入密码:”);String password2=input.next();if(password1.equals(password2)){user[accountId]=new User(name,sex,age,password1,ID,0,card);System.out.println(“=======================”);System.out.println(“开户成功!你的卡号为:”+accountId);accountId++;}else {System.out.println(“=======================”);System.out.println(“两次密码不同!请重新开始!”);}} } public User userLogin(){//登录if (usr!=null) {System.out.println(“=======================”);System.out.println(“请先退出上一个账户!”);return usr;}else{System.out.print(“请输入卡号:”);int aId=input.nextInt();System.out.print(“请输入密码:”);String password=input.next();for(int i=0;iusr.getBalance()) {System.out.println(“=======================”);System.out.print(“取款金额大于余额,请重新输入取款金额:”);blc=input.nextDouble();}while(blc<=0){System.out.println("=======================");System.out.print("取款金额错误,请重新输入取款金额:");blc=input.nextDouble();}usr.setBalance(usr.getBalance()-blc);System.out.println("=======================");System.out.println("取款成功!");System.out.println("账户余额:"+usr.getBalance()); }} public void depositMoney(){//存款if(usr==null){System.out.println("=======================");System.out.println("请先登录账户!");}else{System.out.print("请输入存款金额:");double dsm=input.nextDouble();while(dsm=0;i–) {if(password.equals(usr.getPassword()))break;if(i==0) {System.out.println("三次密码输入错误!即将退出账户!");cancel();Select();}System.out.println("密码错误!你还有"+i+"次机会!");System.out.print("请输入原密码:");password=input.next();}System.out.print("验证成功,请输入新密码:");String password1=input.next();System.out.print("请再次输入密码:");String password2=input.next();while(!password1.equals(password2)) {System.out.println("=======================");System.out.print("两次密码不同,请重新输入新密码:");password1=input.next();System.out.print("请再次输入密码:");password2=input.next();}usr.setPassword(password1);System.out.println("=======================");System.out.println("修改成功!");}} public void lookAccount() {//查看用户信息if(usr==null){System.out.println("=======================");System.out.println("请先登录账户!");}else{System.out.println("=======================");System.out.println("姓名:"+usr.getName());System.out.println("性别:"+usr.getSex());System.out.println(usr.getCardId());System.out.println("身份证号:"+usr.getID());System.out.println("余额:"+usr.getBalance());}} public void cancel() {if(usr==null){System.out.println("=======================");System.out.println("请先登录账户!");}else{usr=null;System.out.println("=======================");System.out.println("账户退出成功!");}}}

main方法测试启动类

public class TestATM {public static void main(String[] args) {ATM atm = new ATM();atm.Select();}}

控制台打印:

=======ATM管理系统=======1.开户2.登录3.取款4.存款5.余额查询6.修改密码7.查看用户信息8.退出登录9.退出系统请选择需要选择的项目:1=======================1.普通银行卡2.信用卡3.医保卡0.返回请选择开户类型:1请输入姓名:admin请输入性别:男请输入年龄:22请输入身份证号:513922199555555555请输入银行卡要设置的密码:123456请再次输入密码:123456=======================开户成功!你的卡号为:1=======ATM管理系统=======1.开户2.登录3.取款4.存款5.余额查询6.修改密码7.查看用户信息8.退出登录9.退出系统请选择需要选择的项目:2请输入卡号:1请输入密码:123456=======================admin,欢迎登录!=======ATM管理系统=======1.开户2.登录3.取款4.存款5.余额查询6.修改密码7.查看用户信息8.退出登录9.退出系统请选择需要选择的项目:

很基础、 适合java初学者来进行练习以及当做课程作业来使用

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
上一篇 2022年6月13日 06:17
下一篇 2022年6月13日 06:17

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息