Java基础案例_模拟银行存取款业务
java课程设计ATM柜员机模拟程序

数据库连接:使用JDBC连接 数据库,进行数据查询
查询语句:编写SQL查询语句, 根据用户输入进行查询
结果展示:将查询结果以列表 或表格形式展示给用户
05
AT M 柜 员 机 的 数 据 库 设计
数据库表结构设计
用户表:存储用户信息,包括用户名、密码、余额等 交易表:记录用户的交易信息,包括交易时间、交易金额、交易类型等 账户表:存储账户信息,包括账户编号、账户类型、账户余额等 银行信息表:存储银行信息,包括银行名称、银行地址、银行电话等 系统日志表:记录系统操作日志,包括操作时间、操作人、操作内容等
网络中断等
性能测试与优化
测试方法:压力测 试、负载测试、稳 定性测试等
测试工具: JMeter、 LoadRunner等
优化目标:提高系 统响应速度、减少 资源消耗、提高系 统稳定性等
优化方法:代码优 化、数据库优化、 缓存优化等
调试过程与问题解决
测试环境搭建:安装Java开发环境,配置 数据库,安装模拟器等
06
AT M 柜 员 机 的 测试与调试
01 添加章节标题
02
AT M 柜 员 机 模 拟 程 序 概述
AT M 柜 员 机 的 基 本 功 能
存 款 : 用 户 可 以 将 现 金 存 入 AT M 柜 员 机 , 系统会自动识别并记录存款金额
转 账 : 用 户 可 以 通 过 AT M 柜 员 机 进 行 转 账操作,系统会自动记录转账信息
异地备份:将 备份数据存储 在异地,防止 自然灾害等意 外情况导致的
数据丢失
访问控制:设 置严格的访问 控制策略,防 止未授权访问
安全审计:定 期进行安全审 计,及时发现 并修复安全漏
Java实现ATM取款机程序

Java实现ATM取款机程序本⽂实例为⼤家分享了Java实现ATM取款机程序的具体代码,供⼤家参考,具体内容如下对象说明:功能:该程序的功能为实现模拟银⾏ATM⾃动取款机取款,存款,查询余额,转账等功能,只是完成了基本的功能。
思路:第⼀、登录判断,密码限制三次,使⽤for循环。
第⼆、成功登录,选择相应的功能,使⽤switch语句。
第四、实现功能的反复循环操作,因为次数不确定,使⽤while结构。
第五、对每个功能模块进⾏填充完善。
代码展⽰:import java.util.Scanner;public class BankATM {public static void main(String[] args) {Scanner input = new Scanner(System.in);String cardNum = "6228123123"; // 卡号int pwd = 888888; // 密码boolean flag = true; // 声明布尔类型变量double surplus = 1000;// 余额// 界⾯System.out.println("---------欢迎使⽤⼯商银⾏ATM机---------");/** ⽤于进⾏登录的次数限制⽌ **/for (int i = 1; i <= 3; i++) {System.out.println("请插⼊您的银⾏卡:");String inputCard = input.next();System.out.println("请输⼊您的密码:");int inputPwd = input.nextInt();// 验证账号和密码if (inputCard.equals(cardNum) && inputPwd == pwd) {flag = true;break;} else {if (i <= 2) {System.out.println("对不起,密码输⼊不正确,你还有" + (3 - i) + "次机会!");} else {System.out.println("对不起,您的卡已被锁定!");break;}flag = false;}}/** 登录成功后选择功能 */if (flag) {char answer = 'y';while (answer == 'y') {System.out.println("请选择功能:1.取款 2.存款 3.查询余额 4.转账 5.退出");int choice = input.nextInt();switch (choice) {case 1:// 执⾏取款操作System.out.println("--->取款");System.out.println("请输⼊取款⾦额:");double getMoney = input.nextDouble();if (getMoney > 0) {if (getMoney <= surplus) {if (getMoney % 100 == 0) {System.out.println("请取⾛您的钞票!余额为¥" + (surplus - getMoney));} else {System.out.println("对不起,不能取零钱!");}} else {System.out.println("对不起,余额不⾜!");}} else {System.out.println("请输⼊正确的⾦额:");}break;case 2:// 执⾏存款操作System.out.println("--->存款");System.out.println("请把钞票整理后放⼊存钞⼝:");double saveMoney = input.nextDouble();if (saveMoney > 0 && saveMoney <= 10000) {if (saveMoney % 100 == 0) {surplus += saveMoney;System.out.println("存款成功!余额为¥" + surplus);} else {double backMoney = saveMoney % 100;surplus = saveMoney + surplus - backMoney;System.out.println("存款成功!余额为¥" + surplus);System.out.println("请取⾛零钱¥" + backMoney);}} else if (saveMoney > 10000) {System.out.println("⼀次最多存⼊⼀万元,请分批存⼊!");} else {System.out.println("存⼊的钞票是假钞,⽆效没收!");}break;case 3:// 执⾏查询余额System.out.println("--->查询余额");System.out.println("您卡上的余额是:" + surplus);break;case 4:// 执⾏转账操作System.out.println("--->转账");System.out.println("请输⼊转账⾦额:");double goMoney = input.nextDouble(); // 转账⾦额if (goMoney > 0) {if (goMoney <= surplus) {System.out.println("转账成功!余额为¥" + (surplus - goMoney)); } else {System.out.println("对不起,请确保卡上有⾜够的余额!");}} else {System.out.println("转账失败!请输⼊正确的⾦额:");}break;case 5:// 执⾏退出操作// System.out.println("--->退出");System.out.println("谢谢您的使⽤!");return;default:System.out.println("对不起,您选择的功能有误!");break;}// switch endSystem.out.println("继续吗?y/n");answer = input.next().charAt(0);} // while endSystem.out.println("谢谢您的使⽤!");}}}效果截图:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
java实训 ATM取款机

ATM取款机课程设计报告姓名:学号:专业:班级:ATM取款机1 课程设计过程概述2009年6月,JA V A游戏开发课程设计在实验楼三楼机房进行,持续时间为两周。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用JA V A编程的实际动手能力并增强大家对面向对象的了解。
这次课程设计的主要内容是独立用JA V A语言开发一个小的应用程序。
我开发了一个ATM柜员机。
2课程设计题目描述和基本设计要求我设计的ATM柜员机主要是由各个Windows窗口组成,它是由登录页面、选择服务、取款、查询余额、修改密码和退卡等功能。
它的各种按钮的事件和功能可以简单的模拟ATM柜员机的要求。
3系统需求分析3.1功能需求分析本ATM柜员机的主要功能如下所述:要求使用图形用户界面。
当输入给定的卡号和密码(初始卡号为000000和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:●查询余额:初始余额为50000元●ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
●ATM存款:不能出现负存款。
●修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
3.2其他需求分析(1)性能描述实时性好、灵活性强、易于不同年龄阶段的人操作。
(2)设计约束开发工具:JCrator ProV3.5.0运行环境:Windows 2000以上能实现用户所定义的各项需求。
(3)界面要求以Windows窗口形式显示,标题栏为ATM柜员机名称,右上角有最小化按钮、最大化按钮、关闭按钮,不同的窗口中有不同的按钮和选择菜单。
4系统设计4.1总体设计我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。
其功能结构图如下所示:图1 ATM功能结构示意图4.2 ATM柜员机界面设计我觉得一个系统的界面应该要简单明了,当然样式美观就更好了。
Java实现银行新用户现金业务办理

Java实现银⾏新⽤户现⾦业务办理Java实现银⾏新⽤户现⾦业务办理任务描述编写⼀个银⾏新⽤户现⾦业务办理程序,使其模拟新⽤户到银⾏办理现⾦存取业务时的场景。
要求此场景中,要模拟出银⾏对⽤户到来的欢迎动作、对⽤户离开的提醒动作,以及⽤户的开户、存款和取款动作,在完成开户、存款和取款操作后,要提⽰⽤户的账户余额。
例如,⼀个新⽤户来到招商银⾏,⾸先银⾏要表⽰欢迎,然后银⾏⼯作⼈员会为⽤户办理开户⼿续;开户后,⽤户先进⾏存款操作,之后⼜进⾏了取款操作,取款操作时需要⽤户输⼊正确的密码和取款⾦额需⼩于当前账户⾦额,如果条件不满⾜,系统产⽣异常。
当业务办理完,⽤户离开银⾏,银⾏提醒⽤户携带好随⾝财物。
⾄此银⾏新⽤户现⾦业务办理结束。
任务⽬标(1)学会分析“银⾏新⽤户现⾦业务办理”程序任务实现的逻辑思路。
(2)能够独⽴完成“银⾏新⽤户现⾦业务办理”的建模。
(3)能够独⽴完成“银⾏新⽤户现⾦业务办理”程序的源代码编写、编译及运⾏。
代码⽂件user.javapublic class User {public User(String username, String password) {ername = username;this.password = password;}public User(int amount, String username, String password) {this.amount = amount;ername = username;this.password = password;}public User() {}public int getAmount() {return amount;}public void setAmount(int amount) {this.amount = amount;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}private int amount;private String username;private String password;}Bank.javaimport java.util.Scanner;public class Bank {static User[] accounts=new User[200];static int count=0;static void show(){System.out.println("欢迎来到招财银⾏");System.out.println("请输⼊你要进⾏的操作");System.out.println("1.开户");System.out.println("2.存钱");System.out.println("3.取钱");System.out.println("0.离开");}//开户static void addAccount(){Scanner scanner=new Scanner(System.in);System.out.println("请输⼊⽤户名");String username=scanner.nextLine();System.out.println("请输⼊⽤户密码");String password=scanner.nextLine();User user=new User(username,password);accounts[count]=user;count++;}//存钱static void addMoney(){Scanner scanner=new Scanner(System.in);System.out.println("请输⼊⽤户名");String username=scanner.nextLine();for(int i=0;i<count;i++){if(username.equals(accounts[i].getUsername())){System.out.println("请输⼊你要存的钱数");int money=scanner.nextInt();accounts[i].setAmount(accounts[i].getAmount()+money);System.out.println("当前余额为:"+accounts[i].getAmount());return;}}System.out.println("不存在该⽤户!");}//取钱static void takeMoney(){Scanner scanner=new Scanner(System.in);System.out.println("请输⼊⽤户名");String username=scanner.nextLine();for(int i=0;i<count;i++){if(username.equals(accounts[i].getUsername())){System.out.println("请输⼊密码");String password=scanner.nextLine();if(password.equals(accounts[i].getPassword())){System.out.println("请输⼊你要取的钱数");int money=scanner.nextInt();if(accounts[i].getAmount()-money>0) {accounts[i].setAmount(accounts[i].getAmount() - money);System.out.println("当前余额为:"+accounts[i].getAmount()); }else {System.out.println("余额不⾜!");}}else {System.out.println("密码不正确");}return;}}System.out.println("不存在该⽤户");}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);show();int choice=scanner.nextInt();while (choice!=0){switch (choice){case(1):addAccount();break;case(2):addMoney();break;case(3):takeMoney();break;}show();choice=scanner.nextInt();}System.out.println("感谢您的使⽤,欢迎下次光临"); }}。
基于java_ATM机_银行存取款系统的设计与实现(含源文件)

本科毕业论文(设计)银行存取款系统的设计与实现姓名:__ ________ 系别: 计算机与信息技术学院_专业:_ 计算机科学与技术_ 学号:__ _____指导教师:__ _ _________年月日目录引论 (1)1银行存取款系统概述 (1)1.1背景 (1)1.2意义 (1)2 银行存取款系统需求分析 (1)2.1系统需求 (1)2.2功能需求 (1)2.2.1用户注册和登陆功能 (1)2.2.2用户存取款转账和查询历史功能 (1)2.3软件属性需求 (2)2.4业务流程描述 (2)3.银行存取款系统总体设计 (2)3.1系统设计概述 (2)3.2注册帐户 (2)3.3登录 (2)3.4存款 (2)3.5取款 (2)3.6转账 (2)3.7查询历史 (2)3.8退出 (3)4 Oracle数据库的设计 (3)4.1 Oracle数据库设计概论 (3)4.2 表的结构设计 (3)4.2.1用户表 (3)4.2.2历史表 (3)4.3 PL/SQL存储过程的设计 (3)4.3.1用户表存储过程的设计 (4)4.3.2历史表存储过程的设计 (4)5 银行存取款系统的实现 (5)5.1用户登陆模块的实现 (5)5.1.1界面样式 (5)5.1.2功能实现 (5)5.2新用户注册模块的实现 (6)5.2.1界面样式 (6)5.2.2功能实现 (6)5.3用户操作模块的实现 (7)5.3.1界面样式 (8)5.3.2功能实现 (8)5.4存款模块的实现 (9)5.4.1界面样式 (9)5.4.2功能实现 (9)5.5取款模块的实现 (10)5.5.1界面样式 (11)5.5.2功能实现 (11)5.6转账模块的实现 (12)5.6.1界面样式 (12)5.6.2功能实现 (12)5.7查询历史记录模块的实现 (15)5.7.1界面样式 (15)5.7.2功能实现 (15)6发布程序及分包规范 (16)结论 (16)参考文献 (17)致谢 (17)银行存取款系统的设计与实现摘要计算机科学技术的发展不仅极大地促进了整个科学的发展,而且明显加快了经济信息化和社会信息化的进程。
java-银行存取款

java-银⾏存取款实验题⽬:异常的抛出、捕获并处理⼀、实验⽬的1.理解异常处理机制的运⾏⽅式;2.掌握Java异常的抛出、捕获及处理⽅法,熟悉⾃定义异常的作⽤,具备发现及处理程序错误的能⼒,使应⽤程序具有稳定性和可靠性;3.正确地使⽤捕获异常和声明抛出异常的两种异常处理⽅法;4.理解⾃定义异常类的使⽤;5.理解抛出异常和声明抛出异常的区别与联系。
⼆、实验要求定义⼀个银⾏类,有存款(deposit)、取款(withdraw)、显⽰余额(showBalance)等⽅法。
若取钱数⼤于余额则作为异常处理(InsufficientFundsException),产⽣异常的条件是余额少于取额,因此是否抛出异常要判断条件,要定义好⾃⼰的异常类,并写⼀个测试类。
三、实验原理1.Java语⾔不仅能在编译时检查出所有的语法错误,还能在运⾏时捕获到;Java的异常处理提供语⾔级对运⾏时错误的处理机制,是程序能够捕获并处理运⾏错误。
Java的异常处理机制包括异常类体系、异常处理的try语句、抛出⾃定义异常对象的throw语句、声明⽅法抛出异常的throw⼦句和⾃定义异常类。
这些功能不仅能捕获并处理异常,还能够主动抛出异常,也能够将异常传给调⽤者。
⼀个异常对象经历抛出、捕获及处理过程。
创建⼀个异常类对象的过程称为抛出(throw)异常;获得异常对象的过程称为捕获(catch)异常;对异常对象执⾏相应操作的过程称为处理异常,异常对象由捕获它的语句进⾏处理。
通常,这⼏个过程分别由不同⽅法或Java虚拟机完成。
/doc/a739c6a65dbfc77da26925c52cc58bd630869368.html ng.Exception异常类是Java定义的所有异常类所构成树层次结构的根类,其它异常类是Exception的⼦类或后代类,异常对象中包含错误的位置和特征信息。
3.程序对错误与异常的三种处理⽅式:(1)程序不能处理错误。
Java实现简单银行ATM功能

Java实现简单银⾏ATM功能本⽂实例为⼤家分享了Java实现简单银⾏ATM功能的具体代码,供⼤家参考,具体内容如下实现功能1、⽤户需要通过输⼊银⾏卡号和密码才能进⼊ATM系统2、⽤户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能简单分析1、创建User类(cardNo,identity,phone,username,password,balance(余额))2、创建Bank类,主要实现初始化⽤户、⽤户登录、显⽰菜单、取款、存款、转账、余额查询、退出系统等功能。
代码实现User.javapublic class User {private String username;private int password;private String cardNo;private String identity;private String phone;private double blance;public User() {}public User(String username, int password, String cardNo, String identity, String phone, double blance) {ername = username;this.password = password;this.cardNo = cardNo;this.identity = identity;this.phone = phone;this.blance = blance;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public int getPassword() {return password;}public void setPassword(int password) {this.password = password;}public String getCardNo() {return cardNo;}public void setCardNo(String cardNo) {this.cardNo = cardNo;}public String getIdentity() {return identity;}public void setIdentity(String identity) {this.identity = identity;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public double getBlance() {return blance;}public void setBlance(double blance) {this.blance = blance;}}Bank.javapublic class Bank {//创建⽤户数组private User[] users=new User[100];//⽤户个数private int size=0;//当前登录的⽤户private User loginuser;public Bank() {initial();//初始化⽤户}/*** 初始化⽤户*/public void initial(){User user1=new User("钟爱",12346,"622678**********","130324************","131********",2312313);User user2=new User("冷冬",12354,"622678**********","1305472309123074","134********",2333);User user3=new User("⼩龙",9893,"622678**********","13032414575467457","131********",255553);User user4=new User("赵丽颖",6342,"622678**********","130324192647456774","131********",288883);User user5=new User("徐三哥",8445,"622678**********","1303241923456744","1457785435",28989);users[0]=user1;users[1]=user2;users[2]=user3;users[3]=user4;users[4]=user5;size=5;}/*** ⽤户登录*/public User login(String cardNo,int password){for (int i = 0; i <size ; i++) {if((users[i].getCardNo().equals(cardNo))&&(users[i].getPassword()==password)){loginuser=users[i];return users[i];}}return null;}/*** 显⽰菜单*/public void showMenus(){Scanner input =new Scanner(System.in);do { System.out.println("**********************************欢迎进⼊ATM系统*****************************************"); System.out.println("*********************1 存款 2 取钱 3 转账 4 查询余额 5 修改密码 0 退出***********************"); int choice=input.nextInt();switch (choice){case 1://取款save();break;case 2://存钱withdraw();break;case 3://转账trans();break;case 4://查询余额query();break;case 5://修改密码revise();break;case 0://退出ATM系统System.out.println("欢迎下次使⽤本系统");return;}} while (true);}/*** 存款操作*/public void save(){System.out.println("请输⼊您的存款⾦额:");Scanner input=new Scanner(System.in);int money=input.nextInt();if(loginuser!=null){if(money>0){loginuser.setBlance(loginuser.getBlance()+money);System.out.println("存款成功");System.out.println("您的当前余额为"+loginuser.getBlance()); }else{System.out.println("输⼊错误!");}}else{System.out.println("您还未进⾏账户登录");}}/*** 取款操作*/public void withdraw(){Scanner input=new Scanner(System.in);System.out.println("请输⼊你要取出的⾦额为:");int money=input.nextInt();if(loginuser!=null){if(money>0&&money<=loginuser.getBlance()){loginuser.setBlance(loginuser.getBlance()-money);System.out.println("取款成功");System.out.println("您的当前余额为:"+loginuser.getBlance()); }else{System.out.println("输⼊错误");}}else{System.out.println("您还未进⾏账户登录");}}/*** 转账操作*/public void trans(){Scanner input=new Scanner(System.in);System.out.println("请输⼊要转⼊账户的卡号:");String cardNo=input.next();User nuser=null;//对⽅账户boolean IsExit=false;//判断对⽅账户是否存在for (int i = 0; i <size; i++) {if(users[i].getCardNo().equals(cardNo)){IsExit=true;//检索到对⽅账户nuser=users[i];}}if(loginuser==nuser){System.out.println("不可以⾃⼰给⾃⼰账户进⾏转账");return;}if(loginuser!=null){System.out.println("请输⼊要转账的⾦额:");int money=input.nextInt();if(money>0&&money<=loginuser.getBlance()){loginuser.setBlance(loginuser.getBlance()-money);nuser.setBlance(nuser.getBlance()+money);System.out.println("转账成功");System.out.println("您当前余额为"+loginuser.getBlance());System.out.println(nuser.getBlance());}else{System.out.println("输⼊错误");}}else{System.out.println("请登录账户");}}/*** 查询余额*/public void query(){System.out.println("您的余额为:"+loginuser.getBlance());}/*** 修改密码*/public void revise(){Scanner input=new Scanner(System.in);System.out.println("请输⼊您的新密码");int newpassword=input.nextInt();for (int i = 0; i < size; i++) {if(users[i]==loginuser){users[i].setPassword(newpassword); //进⾏修改}}System.out.println("密码修改成功");}}BankSystem.javapublic class BankSystem {public static void main(String[] args) {Scanner input=new Scanner(System.in);Bank bank=new Bank();System.out.println("请输⼊您的卡号:");String cardNo=input.next();System.out.println("请输⼊您的密码:");int password=input.nextInt();User user = bank.login(cardNo, password);//⽤户登录if(user!=null){System.out.println(user.getUsername()+"登陆成功");bank.showMenus();}else{System.out.println("登陆失败");}}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
JAVA课程设计---银行存取款管理系统[1]
![JAVA课程设计---银行存取款管理系统[1]](https://img.taocdn.com/s3/m/3174070e0740be1e650e9a84.png)
课程设计设计题目:银行存取款管理系统专业 (方向):计算机科学与技术(网络工程)年级、班:2011级计算机科学与技术班学生姓名:杨梅学生学号:12011247435指导教师:马子睿2013 年12月25日目录一系统开发的背景 (1)二、系统分析与设计 (1)(一)系统功能要求 (1)(二)系统模块结构设计 (1)三、系统的设计与实现 (3)(一)存款操作: (3)(二)取款操作:GET() (3)(三)查询余额:BALANCE() (4)(四)查询利息:LIXID();LIXIH() (4)(五)主界面的建立:BANK JF AME (5)(五)内层界面的建立:M ESSAGE JD IALOG (8)四、系统测试 (12)(一)测试MAIN(S TRING ARGS[])函数 (12)(二)测试内层界面(内层对话框) (12)五、总结 (14)六、附件(代码、部分图表) (14)一系统开发的背景在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。
为了提高银行的办事效率,减低银行工作人员的办事效率,降低传统银行的出入账计算方式,因此急需开发一套信息化的方式,开发合适的系统就成为了解决这一问题的核心。
二、系统分析与设计(一)系统功能要求由于数据库系统还没有学习,所以只固定一账户,账户信息包括账户姓名与卡号。
具体实现的功能主要有:1.定、活期存款操作。
2.取款操作。
3.查询账户余额。
4.计算当前利息。
(二)系统模块结构设计通过对系统功能的分析,学生综合测评系统功能如图一所示。
图一银行存取款管理系统功能图通过上图的功能分析,把整个系统划分为6个模块:1、存款操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟银行存取款业务
编写一个Java应用程序,模拟网上银行登录及存取款业务。
登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。
操作类型包括四种(存款:1 取款:2 余额:3 退出:0),输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;输入数字3时,显示当前账户的余额;输入数字0时将退出整个系统。
要求及解题思路:
1)程序中涉及到的输入,均采用在控制台通过键盘录入的方式进行。
2)利用类的封装的思想,创建银行帐户类User,在类中定义五个属性cardId、cardPwd、userName、call和account分别表示帐户的银行卡号、银行卡密码、账户名、手机号码和存款额。
3)创建DBUtil类,该类用于模拟银行系统中的账户人信息,相当于数据库的功能。
登录时需通过用户输入的信息和系统中保存的账户信息进行比较,从而判断登录是否成功。
DBUtil类中通过Map集合存储模拟的账户信息,其中key值用于存储银行卡号,value值用于存储整个账户对象。
该类中还需提供两个方法,分别是获取单个账户信息的方法和获取所有个账户信息的方法。
4)创建一个Bank类,该类用于处理网上银行的登录、存取款和显示余额等所有业务逻辑。
登录时需要验证用户输入的银行卡号和银行卡密码,是否存在于银行系统中,如果是提示登录成功,否则提示登录失败,让用户重新登录。
登录成功后,需根据提示的四种操作类型,输入相应的数字,对当前账户存款进行存取和查询余额操作。
操作完成后,输入数字0将退出整个系统。
5)在应用程序的开发过程中,请尽可能地做到程序的健壮性和操作中提示人性化。
例如用户在存款和取款时,显然输入非数字值是不合理的,此时应该加强判断并引导用户输入正确的数值,等等。
1
2。