要求:

  • 设计一个对银行账户余额操作的程序
  1. 假设账号: int account=11111

  2. 密码:int password=22222

  3. 余额:int balance=2020

  4. 密码输入错误数:int count=0;

  • 进入程序需要输入账号密码,验证没有问题即可操作.
  • 进入程序输出选择操作选项:

1.存款,2.取款,3.查询余额

  • 可多次重复操作

分析:

  • 使用Scanner实现数据的交互式输入
  • 使用switch语句实现分级选项菜单
  • 使用while循环实现程序的多次重复操作

代码实现:

  • 银行类:
import java.util.Scanner;
public class BankMake {private int zhanghao = 11111;//账号private int mima = 22222;//密码private int yu_e = 6300;//账户余额private int count=0;//密码输入错误数记录public int Enter(int account,int password){//进入主菜单,并且每次操作完如果要进行其他操作时都需要重新登录,麻烦但是安全if(account==this.zhanghao&&password==this.mima){//对比账号密码是否正确System.out.println("登录成功!");return 1;}else{if(account!=this.zhanghao){//若账号输入错误则重新输入,不会增加错误次数System.out.println("账号错误,请重新输入");return 0;}else{//若密码输入输入错误则则增加输入错误次数this.count++;if(this.count==3){System.out.println("密码连续输入错误3次!账号冻结!!");//账号冻结就直接退出程序return -1;}System.out.println("密码错误,还剩" + (3 - count) + "次机会。");//提示用户密码输入错误,并且显示可再次输入的次数return 0;}}}public void Qmoney() {//取钱操作Scanner scan = new Scanner(System.in);while (true) {//循环多次输入System.out.print("请输入取款金额:");int qmoney = scan.nextInt();if (qmoney > this.yu_e) {//若需要取的钱数大于余额,则提示余额不足并重新输入取钱数System.out.println("余额不足!");System.out.println("请重新输入!");continue;}if (qmoney % 50 != 0 || qmoney == 0) {//只能存50元的整数倍,不能取0元System.out.println("只能存取50元的整数倍,请重新输入");continue;}this.yu_e -= qmoney;System.out.println("取款成功!");System.out.println("余额:" + this.yu_e);break;}}public void Cmoney (){Scanner scan = new Scanner(System.in);while (true) {//循环多次输入System.out.print("请输入存款金额:");int cmoney = scan.nextInt();if (cmoney % 50 == 0 && cmoney != 0) {this.yu_e += cmoney;System.out.println("存款成功!");System.out.println("余额:" + this.yu_e);break;}else//不能存0元,也只能存50元的整数倍System.out.println("只能存取50元的整数倍,请重新输入");}}public void GetBalance(){//获取账户余额数System.out.println("余额:"+this.yu_e);}
}
  • 主程序
import java.util.Scanner;public class BankSystem {public static void main(String[] args) {BankMake bm = new BankMake();Scanner scan = new Scanner(System.in);System.out.println("欢迎来到XXXX银行系统!");while(true) {System.out.print("请输入账号:");int zh = scan.nextInt();System.out.print("请输入密码:");int mm = scan.nextInt();int k = bm.Enter(zh, mm);//传入账号和密码进行登录if (k == 0) continue;//返回0需要重新登录if (k == -1) break;//返回-1就退出整个程序System.out.println("请选择:1.存款 2.取款 3.余额查询");int choice = scan.nextInt();switch(choice){//实现菜单分层选择case 1:bm.Cmoney();break;case 2:bm.Qmoney();break;case 3:bm.GetBalance();break;default:System.out.println("非法操作!请重新选择");//输入其他不存在的选项时提示}System.out.print("退出请按1,其它任意键继续   ");if(scan.nextInt()==1)break;System.out.println("请再次输入账号密码");}System.out.print("系统已经退出。");//退出程序提醒}
}

运行结果:

银行账户余额操作(Java小白版)相关推荐

  1. Java小白版聊天室1.0版本

    一个Java初学者写出来的界面简陋,功能及其简单的小白版聊天室,接下来会花一点时间去完善它 1.构思:构建两个main方法,一个为服务端,一个为客户端,客户端向服务端发送消息,服务端创建集合,向集合中 ...

  2. java老版手机游戏剑魂_剑魂自动训练第3部分

    java老版手机游戏剑魂 In this article, we will finally put an end to the "Automating Swords & Souls& ...

  3. 银行柜台操作系统,真实版

    1.定义一个账户类 ,属性 有账户名 账户金额 账户密码 方法有显示金额 2.一个测试类,创建一个账户对象 3.密码可以输错三次,密码输入正确后进入柜台操作系统,选择存钱.取钱.查询.退出 一.银行账 ...

  4. 安装.net5.0后怎么在vs里选择_Visual Stdio 2019(或其它版本)怎样全部安装到非系统盘的实现方法(小白版)...

    众所周知,vs以其庞大的体积出名(划掉).vs作为一个强大的IDE,它的安装成为一个比较麻烦的事情,因为即使我们在安装目录里选择了非系统盘,但仔细看右下角,我们会发现仍会在系统盘里占用相当的空间. 之 ...

  5. 终于,把十大经典排序算法汇总了!(Java实现版)

    转载自  终于,把十大经典排序算法汇总了!(Java实现版) 最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在" ...

  6. java演练代码 银行取款演练 java

    java演练代码 银行取款演练 java 视频 java作业 银行存取款演练 1 类的方法明确 类与对象有参方法演练 java作业 银行存取款演练 2 银行存款的架构搭建 可以退程序循环 java作业 ...

  7. 生鲜配送ERP系统_对商品模块数据模型与界面设计的思考【Java 开源版】杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝

    生鲜配送ERP系统_对商品模块数据模型与界面设计的思考及简要分析[Java 开源版]杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝 一直在研究与改造自己的生鲜配送系统,越来越觉得后 ...

  8. Java小白常问的问题大全

    Java小白在初学Java时都会遇到各种各样的问题,小编来总结一下一些常见的问题.比如,可以用%除以一个小数吗?a+=b和a=a+b的效果有区别吗?声明一个数组为什么需要花费大量时间?为什么Java库 ...

  9. Java基础到Java进阶——Java小白的历练之路------从0到1,开卷!

    Java小白的历练之路------从0到1 title: Java Essay date: 2022-09-07 08:58:32 tags: Java notes 写在前面: 免责声明:本笔记来源自 ...

最新文章

  1. 【业务】现金贷获客之道业务流程分析
  2. powerdesigner自动生成代码的修改
  3. 论文笔记:Deep Residual Learning
  4. 网卡驱动程序之编写虚拟网卡(二)
  5. mysql主键和聚簇索引_[MySQL] innoDB引擎的主键与聚簇索引
  6. 编译运行linux0.12,linux0.12 编译过程
  7. python爬音乐网站_用 Python 爬取 QQ 音乐全部歌曲
  8. vite.js项目创建流程图
  9. 大数据处理需注意的问题
  10. 蓝桥训练之前缀和与差分
  11. 安卓APP逆向入门破解
  12. 商品分类,手机云进销存ERP门店零售批发仓库开单APP软件,文具五金服装鞋帽酒店烟酒饰品批发条码管理
  13. vba打开html文件,VBA调用浏览器打开指定网页的几种方法
  14. 2015中国十大域名注册商排名
  15. 基于Andriod的简易记事本APP设计与实现
  16. java表示自然数,将一个正整数表示为连续自然数的和
  17. QQ音乐PC端保存歌手写真的方法
  18. 那个职员建议他们去计算机博物馆英语,新目标英语九年级Unit 3 Section B录音(音频+文本+翻译)...
  19. request + bs4 爬取网易云音乐热门评论
  20. 农银e管家怎么显示服务器不对,农银e管家电脑版

热门文章

  1. 群晖NAS如何实现双盘实时自动备份数据
  2. 2023年3月编程语言排行
  3. MB,GB,KB,bytes单位换算 及 fdisk -l 参数详解
  4. workstation 虚拟机磁盘扩容
  5. 安卓代码怎么设置省电模式_Android 5.0如何开启省电模式?Android 5.0如何省电?...
  6. 宠物购物系统/宠物商城
  7. leetcode_978. 最长湍流子数组
  8. 微群宝贝机器人中的天气查询是如何实现的 json 天气api 逆向应用
  9. Java实现抓包程序(网络协议分析程序)
  10. 华为“捅破天”,P60扛大旗