定义一个系统类Game

开始方法

它来控制主逻辑

显示欢迎语句

欢迎使用银行系统

显示功能菜单

显示菜单

接收键盘输入

调用对应的方法

初始架构

效果

测试类

重头Game类

import java.util.Scanner;public class Game {// 键盘输入对象Scanner ipt = new Scanner(System.in);// 开始方法,系统的入口public void start() {// 欢迎用户welcome();// 功能菜单run();}private void run() {// 显示功能菜单System.out.println("1 开户");System.out.println("2 登陆");// 接收键盘输入System.out.println("请输入需要的功能:");String choice = ipt.next();//  调用对应的功能switch (choice) {case "1":System.out.println("run 开户功能");break;case "2":System.out.println("run 登陆功能");break;default:System.out.println("非法输入");break;}}private void welcome() {System.out.println("欢迎使用银行系统");}
}

让功能循环起来

改造run方法

代码

import java.util.Scanner;
import java.util.concurrent.TransferQueue;public class Game {// 键盘输入对象Scanner ipt = new Scanner(System.in);// 开始方法,系统的入口public void start() {// 欢迎用户welcome();// 功能菜单run();}private void run() {while (true){System.out.println("1 开户");System.out.println("2 登陆");System.out.println("q 退出");// 接收键盘输入System.out.println("请输入需要的功能:");String choice = ipt.next();//  调用对应的功能switch (choice) {case "1":System.out.println("run 开户功能");break;case "2":System.out.println("run 登陆功能");break;case "q":System.out.println("退出系统");System.exit(0);break;default:System.out.println("非法输入");break;}}}private void welcome() {System.out.println("欢迎使用银行系统");}
}

开户的准备工作

分析需要的东西

开户成功,会有用户对象,需要用户类

银行会有很多用户,用户需存在容器中,需要有用户数组

往用户数组中添加用户,需要用到数组添加数据的算法,需要有添加用户的算法方法

准备用户类

》分析属性

手机号

户主姓名

金额

密码

》注意事项

要用封装的方式把所有的用户属性都封装起来

》开始编写用户类

》封装热键



效果

》构造方法热键

生成无参构造

生成全参数构造


public class User {// 成员变量private String name;private String password;private String phoneNum;private int money;// 定义构造方法// alt + inspublic User() {}public User(String name, String password, String phoneNum, int money) {this.name = name;this.password = password;this.phoneNum = phoneNum;this.money = money;}// 封装这些属性// alt + ins(位于del上面的键)public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getPhoneNum() {return phoneNum;}public void setPhoneNum(String phoneNum) {this.phoneNum = phoneNum;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}
}

定义数组与数组算法

明确目标

数组是对象数组,专门用于存放用户对象的

新建一个类,类中定义静态对象数组

算法,编写添加算法(需要添加的用户对象,添加到哪里)

定义对象数组

定义数组添加对象的算法

开户功能

方法的调用

方法的定义

// 开户逻辑private void regiest() {// 接收数据System.out.println("欢迎使用开户功能。。。。");System.out.println("请输入手机号:");String phoneNum = ipt.next();System.out.println("请输入用户名:");String name = ipt.next();System.out.println("请输入密码:");String password = ipt.next();System.out.println("请输入开户的存款金额,输入数字:");int money = ipt.nextInt();// 实例化对象//     public User(String name, String password, String phoneNum, int money) {User u = new User(name, password, phoneNum, money);// 把用户放到对象数组中Db.append(u);}

登陆功能

先调用方法

登陆方法开头

查找用户是否存在的算法

登陆方法借用查询算法

完整的登陆功能代码

private void login() {System.out.println("当前是【登陆功能】");System.out.println("请输入登陆用户名:");String name = ipt.next();System.out.println("请输入密码:");String password = ipt.next();// 应该到对象数组中去比对是否存在User u = Db.searchUser(name, password);// 对u进行判断if (u == null) {System.out.println("登陆失败");} else {System.out.println("登陆成功");}}

菜单优化

登陆的与未登陆的看到界面不一样

定义成员变量

登陆成功后给这个成员变量赋值

根据this.u来判断是否登陆了

》方法的调用

》方法的定义

存款功能

》 在用户类中编写存款功能

注意是用户在存款

》在系统类中编写方法的调用

》存款逻辑

用户取款

在用户类中定义方法

在系统类中编写取款功能

》取款方法体

转帐功能

先调用

再定义

详情需自己完成

0515 银行转帐功能演练相关推荐

  1. 0309随堂笔记 银行转帐功能 对向封装 1615278206

    java格式化输出语句 快捷创建方法 光标移动到方法调用的地方(方法未定义) 键盘 alt + enter 弹出的选项中选择 creat- 快捷生成构造方法 按 alt + ins 在窗口中选择需要的 ...

  2. 从模拟切换到真实业务接管,看zCloud如何助力银行灾备演练升级

    点击上方"蓝字" 关注我们,享更多干货! 近年来,随着国家和行业监管部门对银行信息系统风险管理的要求不断提高,<商业银行数据中心监管指引>和<商业银行业务连续性监 ...

  3. atm有10000元 java_Java实现银行ATM功能示例

    Java实现银行ATM功能示例 发布时间:2020-10-28 14:42:46 来源:亿速云 阅读:71 Java实现银行ATM功能示例?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原 ...

  4. java简单atm_Java实现简单银行ATM功能

    本文实例为大家分享了Java实现简单银行ATM功能的具体代码,供大家参考,具体内容如下 实现功能 1.用户需要通过输入银行卡号和密码才能进入ATM系统 2.用户可以在ATM中实现取款.存款.转账.余额 ...

  5. 速记 封装案例 银行取款功能 1210

    封装小结 封装案例 编码 银行类 初始化方法 使用无参构造法 带参构造 登陆方法 显示菜单 存钱 取钱 转帐

  6. php 代付功能_PHP之RSA2加密解密(接入微众银行代付功能过程中使用)

    近日,随着我们拼客顺风车平台用户量的逐步增大,提现的数量越来越大,人工提现到银行卡的工作量越来越大,所以准备接入微众银行的代付功能,其中涉及到php的RSA2加密加密,这里记录一下下.话不多说直接上代 ...

  7. 湖北联通联手银行开展网络安全演练

    日前,湖北联通完成了湖北银行网络安全突发事件应急演练.本次演练由湖北联通模拟DDOS异常攻击,对湖北银行的WEB服务器.网上银行服务器等进行攻击.随后,湖北联通与湖北银行.人民银行武汉分行.湖北省通信 ...

  8. p2p银行充值功能模块 支付宝调用

    银行充值简介 用户要想要投标的话,那么需要往p2p平台上进行充值 使用支付宝沙箱 调用支付宝充值接口进行测试 用户余额页面展示用户的余额 点击充值调用跳转到银行充值页面 输入密码,密码正确调转到支付宝 ...

  9. Java代码简单模仿银行ATM功能

    1.首先要了解的是,这个ATM程序本身是一个简单,只为了完成一些ATM具备的一些方法,并非是真正完成一个ATM的全部功能和需求.(效果如下图) 1.这个下面演示的成功的功能: 2.这张图是输入错误的解 ...

最新文章

  1. Linux C程序命令行传参
  2. erp二次开发有出路吗_ERP的真正技术瓶颈:详细生产排程!
  3. Jzoj5235 好的排列
  4. 如何使用Google Analytics(分析)设置和跟踪YouTube频道的效果
  5. Win11系统创建虚拟桌面的方法
  6. 汽车故障检测仪计算机教程,道通MS诊断仪在线编程刷隐藏908SPRO汽车故障检测电脑...
  7. 2010年山东省区县级农作物面积及产量统计数据
  8. 韩顺平老师php从入门到精通149讲
  9. linux系统学文档pdf,Linux操作系统学习.pdf
  10. 中国8位域名大玩家曝光(域名背后的真相)
  11. 【网易云音乐】浏览器控制台抓包(纯前端)
  12. android禁用传感器,Android 系统强制禁用距离传感器方法
  13. 程序员有了这几款神器,瞬间逼格就上去了!
  14. ffmpeg 拼接mp4_通过 ffmpeg 无损剪切/拼接视频
  15. 可汗学院金融学(一)
  16. 远程开机并不难 用开机棒轻松打开局域网多台电脑
  17. 原生js——无法获取元素高度的的问题
  18. 神经网络之极限学习机(ELM)
  19. 入职避坑指南(杭州)
  20. Openssl 1024bit RSA算法---公私钥获取和处理(一)

热门文章

  1. 为什么先编码再解码? 即先降采样,然后上采样
  2. duty:用户名是手机号显示空格
  3. oracle9i解密rewrap,oracle 9i 的加密解密用法之dbms_obfuscation_toolkit(一)
  4. vue本地模拟数据之mockjs安装 - cmd篇
  5. 关于vue.js 编程导航的使用:实现路由配置和跳转页面
  6. astype强制转换不管用_用numpy和pandas进行数据分析
  7. c语言 a 0,[整理]C语言中的a,a和a[0]
  8. Java实现Spark-Redis,Spark 之 Redis on spark java.io.NotSerializableException
  9. 好看清新的双栏博客模板,可以用来做工作室官网,自媒体官网,个人博客,产品展示等网站。
  10. 好看的导航网站源码-简约自适应网站网址导航系统