Java银行开户,取钱,存钱,查询余额,退出。。。。。

一:上码

package com.wyj.two;import java.util.Scanner;/*** 封装的练习*/
public class Demo8 {public static void main(String[] args) {Scanner in = new Scanner(System.in);Account account = new Account();System.out.println("欢迎来到杰哥银行");// menu();boolean flag = true;while (flag) {menu();System.out.println("请输入你的服务选项:");int option = in.nextInt();switch (option) {case 1: {account.open_account();break;}case 2: {account.save_money();break;}case 3: {account.draw_money();break;}case 4: {account.check();break;}case 5: {System.out.println("感谢您的使用!!");flag = false;break;}}}}//菜单栏public static void menu() {System.out.println("1.设置用户的基本信息(姓名,新建账户,新建密码)");System.out.println("2.存钱");System.out.println("3.取钱");System.out.println("4.查询余额");System.out.println("5.退出");}}class Account {private String name;private double balance;//余额private String acc;//账户private String password;//密码Scanner in = new Scanner(System.in);public void setName(String name) {if (name.length() >= 2 && name.length() <= 4)this.name = name;else {System.out.println("请输入正确格式的姓名,默认姓名:无名");this.name = "无名";}}public void setBalance(double balance) {if (balance > 20)this.balance = balance;else {System.out.println("余额不足,余额默认为:20");this.balance = 20;}}public void setPassword(String password) {if (password.length() == 6)this.password = password;else {System.out.println("密码格式有误,密码为6为字符,默认为123456");this.password = "123456";}}public void setAcc(String acc) {this.acc = acc;}public String getName() {return name;}public double getBalance() {return balance;}public String getPassword() {return password;}public String getAcc() {return acc;}//开户public void open_account(){System.out.println("请输入姓名:");String name = in.next();//不用in.nextLine();他会把一些无效字符给读进去this.name = name;System.out.println("请输入新建账号:");// in.nextLine();//将换行符读掉String acc = in.next();this.acc =acc;System.out.println("请输入新建密码:");// in.nextLine();//将换行符读掉String pas = in.next();this.password = pas;System.out.println("恭喜您开户成功!");}//存钱public void save_money() {System.out.print("请输入您的账号:");String acc1 = in.next();System.out.print("请输入您的密码:");String pas1 = in.next();System.out.print("请输入存钱的金额:");double money = in.nextDouble();boolean flag = true;while (flag) {if (acc1.equals(this.acc) && pas1.equals(this.password)) {if (money < 0)money = 0;this.balance += money;System.out.println("存钱成功!");flag = false;} else if (!acc1.equals(this.acc) && pas1.equals(this.password)) {System.out.println("您输入的账号有误!请重新输入您的账号");acc1 = in.nextLine();} else if (acc1.equals(this.acc) && !pas1.equals(this.password)) {System.out.println("您输入的密码有误,请重新输入您的密码");pas1 = in.nextLine();}}}//取钱public void draw_money() {System.out.println("请输入您的账号:");in.nextLine();//将换行符读掉String acc1 = in.next();System.out.println("请输入您的密码:");in.nextLine();//将换行符读掉String pas1 = in.next();System.out.println("请输入取钱的金额:");double money = in.nextDouble();boolean flag = true;while (flag) {if (acc1.equals(this.acc) && pas1.equals(this.password)) {if (money < 0)money = 0;if(this.balance < money){System.out.println("对不起您的余额不足!");}else{this.balance -= money;System.out.println("取钱成功!");}flag = false;} else if (!acc1.equals(this.acc) && pas1.equals(this.password)) {System.out.println("您输入的账号有误!请重新输入您的账号");acc1 = in.nextLine();} else if (acc1.equals(this.acc) && !pas1.equals(this.password)) {System.out.println("您输入的密码有误,请重新输入您的密码");pas1 = in.nextLine();}}}//查询余额public void check() {System.out.println("请输入您的账号:");String acc1 = in.next();System.out.println("请输入您的密码:");String pas1 = in.next();boolean flag = true;while (flag) {if (acc1.equals(this.acc) && pas1.equals(this.password)) {System.out.println("您的余额为:" + this.balance);flag = false;} else if (!acc1.equals(this.acc) && pas1.equals(this.password)) {System.out.println("您输入的账号有误!请重新输入您的账号");acc1 = in.nextLine();} else if (acc1.equals(this.acc) && !pas1.equals(this.password)) {System.out.println("您输入的密码有误,请重新输入您的密码");pas1 = in.nextLine();}}}@Overridepublic String toString() {return "Account{" +"name='" + name + '\'' +", balance=" + balance +", password='" + password + '\'' +'}';}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他极限条件自行测试,有问题直接留言,我速到!!!!!!!!!!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux开发亿连手机互联,亿连手机互联车载版下载-亿连手机互联车机版v6.6.1 安卓版-腾牛安卓网...

亿连手机互联车机版&#xff0c;交互一体&#xff0c;手机-导航仪应用深度融合&#xff1b;升级服务&#xff0c;依托手机OTA升级导航仪应用&#xff1b;流畅连接&#xff0c;双通道互联技术连接更流畅&#xff1b;全新界面&#xff0c;配合前装和后装专业市场&#xff1b;为您…

7-3 树的同构 (25 分)(思路加详解)来呀baby!!!!!!!!

一&#xff1a;题目 7-3 树的同构 (25 分) 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2&#xff0c;则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的&#xff0c;因为我们把其中一棵树的结点A、B、G的左右孩子互换后&#xff0c;就得到另外一棵树…

Dapr微服务应用开发系列0:概述

题记&#xff1a;Dapr是什么&#xff0c;Dapr包含什么&#xff0c;为什么要用Dapr。Dapr是什么Dapr&#xff08;Distributed Application Runtime&#xff09;&#xff0c;是微软Azure内部创新孵化团队的一个开源项目&#xff0c;皆在解决微服务应用开发过程的一些共性问题。以…

你以为.NET Core仅仅是开源跨平台?试试Docker,刷新你的认知!

2016 年微软发布了 .NET Core 1.0&#xff0c;可谓是平地起惊雷&#xff0c;因为微软终于开源和跨平台了。但是一直到19年12月份发布了.NET Core3.1&#xff0c;开源社区的威力才展现出来&#xff0c;3个月增加了100w开发者&#xff0c;才真正吸引大厂的关注。但你以为仅仅是因…

7-2 一元多项式的乘法与加法运算 (20 分)(思路加详解+map做法)map真香啊 各个测试点的用例子 来吧宝贝!

一&#xff1a;题目 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行&#xff0c;每行分别先给出多项式非零项的个数&#xff0c;再以指数递降方式输入一个多项式非零项系数和指数&#xff08;绝对值均为不超过1000的整数&#xff09;。数字间以空格分隔。 输…

Azure认知服务之表单识别器

认知服务Azure 认知服务的目标是帮助开发人员创建可以看、听、说、理解甚至开始推理的应用程序。Azure 认知服务中的服务目录可分为五大主要支柱类别&#xff1a;视觉、语音、语言、Web 搜索和决策。开发人员使用 Azure 认知服务能够轻松地将认知功能添加到其应用程序中。Azure…

配置文件中的数据库连接串加密了,你以为我就挖不出来吗?

一&#xff1a;背景1. 讲故事前几天在调试物联柜终端上的一个bug时发现 app.config 中的数据库连接串是加密的&#xff0c;因为调试中要切换数据库&#xff0c;我需要将密文放到专门的小工具上解密&#xff0c;改完连接串上的数据库名&#xff0c;还得再加密贴到 app.config 中…

基于.NetCore3.1系列 —— 日志记录之自定义日志组件

前言回顾&#xff1a;日志记录之日志核心要素揭秘在上一篇中&#xff0c;我们通过学习了解在.net core 中内置的日志记录中的几大核心要素&#xff0c;在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中&#xff0c;这…

c语言glut打正方形,OpenGL绘制正方形并用键盘移动

准备工作&#xff1a;在OpenGL中&#xff0c;基本图形元素如点、线、折线和多边形都是由一个或多个顶点所定义。OpenGL的7种基本图元&#xff1a;WeChat77732bbab74bef94d9f34e151bce8b6e.pngWeChat26002917d9408c5eef2f9637246fd9a6.pngOpenGL绘制正方形与OpenGL绘制三角形类似…

.NET或.NET Core Web APi基于tus协议实现断点续传

【导读】前两天我采用技巧式方案基本实现大文件分片上传&#xff0c;这里只是重点在于个人思路和亲身实践&#xff0c;若在实际生产环境要求比较高的话肯定不行&#xff0c;仍存在一些问题需要深入处理&#xff0c;本文继续在之前基础上给出基于tus协议的轮子方案&#xff0c;本…

省钱攻略送上!戴尔官网OptiPlex商用台式机到手仅需2279元!速速抢购!

如何用最少的钱磕到性价比超优的设备&#xff1f;两三千元左右的价格能买到狠货吗&#xff1f;来戴尔小企业官网&#xff0c;助力业务在线&#xff0c;Slay全场&#xff01;粉丝额外宠粉福利1.关注公众号 2.通过戴尔官网客服采购电脑产品3.发送订单截图至公众号后台就会有机会…

如何面对人生危机?

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份一名读者提问&#xff1a;洋哥&#xff0c;我7年前从大厂出来&#xff0c;创业多年。连续失败&#xff0c;没买车也没房&#xff0c;女朋友也和我分手了&#xff0c;父母也对我失望至极。最近我开始焦虑、失眠…

不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序

一般我们写好了应用程序想要部署发布它&#xff0c;要么发布到物理机&#xff0c;要么发布到虚拟机&#xff0c;要么发布到容器来运行它。现在有了Azure应用服务&#xff0c;我们可以完全不用管这些东西&#xff0c;只管写好自己的代码&#xff0c;然后使用VisualStudio的发布功…

数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图

数码管显示是每一个单片机初学者都必须学的&#xff0c;而单片机驱动数码管的数字循环显示实验&#xff0c;又是单片机基础中的基础&#xff0c;同时也是学好C语言编程的关键&#xff0c;此实验在硬件上可以弄清楚单片机驱动原理和数码管的显示原理&#xff0c;在软件上可以帮助…

.NET Core + Consul 服务注册与发现

在分布式架构中&#xff0c;服务治理是必须面对的问题&#xff0c;如果缺乏简单有效治理方案&#xff0c;各服务之间只能通过人肉配置的方式进行服务关系管理&#xff0c;当遇到服务关系变化时&#xff0c;就会变得极其麻烦且容易出错。Consul[1] 是一个用来实现分布式系统服务…

.NET Core + Spring Cloud:API 网关

API 网关是系统的唯一入口&#xff0c;调用任何服务的请求都需要经过网关层&#xff0c;最终才可能到达目标服务&#xff0c;既然是必经之路&#xff0c;那我们可以在网关层进行一些通用的操作&#xff0c;如&#xff1a;认证、鉴权、限流、智能路由、缓存、日志、监控、超时、…

VS Code 黑宝书背后的故事

自开售以来&#xff0c;《Visual Studio Code 权威指南》就受到了许多读者朋友的青睐。在京东和当当两大平台上&#xff0c;都分别取得了不错的绩&#xff1a;当当&#xff1a;计算机新书热卖榜第一名京东&#xff1a;科技IT新书榜第一名那么&#xff0c;热销背后&#xff0c;这…

ASP.net Core MVC项目给js文件添加版本号

需求&#xff1a;使用ASP.net Core Mvc开发公司内部web系统&#xff0c;给视图中js(css,image也可以)文件添加版本号避免缓存问题。解决方法&#xff1a;利用Taghelper提供的标签&#xff08;asp-append-version&#xff09;可以实现<script src"~/Scripts/Biz/Village…

c语言网格搜索,基于C

引言教室作为学生长期使用的建筑类型&#xff0c;对光环境舒适度的需求尤为明显。相关研究表明&#xff0c;不仅照明会影响学习效率[1]&#xff0c;而且不当照明会引起使用者不适甚至损害视力[2]。随着多媒体教学设施的普及&#xff0c;幻灯片投影教学现已成为教师授课的主要形…

初识ABP vNext(1):开篇计划基础知识

点击上方蓝字"小黑在哪里"关注我吧审计(Audit)本地化(Localization)事件总线(Event Bus)多租户(multi-tenancy technology)DDD分层实体(Entity)值对象(Value Object)聚合根(Aggregate Root)仓储(Repository)应用服务(Application Services)数据传输对象(DTO)工作单元…