模拟银行存取款业务 简要代码
本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的
卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款:1取款:2余额:3退出:0),输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;输入数字3时,显示当前账户的余额;输入数字0时将退出整个系统。其登陆后界面如下图所示:
涉及的知识点:面向对象,集合,io
二、项目需求分析通过项目简介中的要求,我们将项目的具体需实现的功能分析如下:
1) 首先要实现用户的登陆,判断卡号和密码。
2) 登陆成功后,提示四种可操作类型(存款:1、取款:2、余额:3、退出:0),输入相应类型数
字,进入其对应功能。
3) 选择1,存款时输入金额后,要判断金额是否合理(输入金额不能小于0),合理显示存款成功,
不合理回到操作类型选择功能,让其从新选择操作。
4) 选择2,取款时输入相应金额后,也要进行金额是否合理判断,并且其取款金额不能大于账户余额,
如果大于账户余额,则提示“余额不足,取款失败!”,并回到操作类型选择功能。
5) 选择3,系统显示账户余额。
6) 选择0,退出系统,程序运行结束。
需要验证用户输入的银行卡号和银行卡密码,是否存在于银行系统中,如果是提示登录成功,否则提示登录失败,让用户重新登录。登录成功后,需根据提示的四种操作类型,输入相应的数字,对当前账户存款进行存取和查询余额操作。操作完成后,输入数字0将退出整个系统。
在这个程序中,我们分成两个类,一个是界面ATM类,一个是Account储存客户信息
ATM类
public class ATM {private static ArrayList<Account> accounts=new ArrayList<Account>();private static Scanner scanner;
// private static boolean isLogin1 = false;
// private static boolean isLogin2 = false; private static boolean isLogin = false; public static void showMenu() { System.out.println("请选择操作"); System.out.println("1.存钱"); System.out.println("2.取钱"); System.out.println("3.查询余额"); System.out.println("0.取卡"); } public static void processMenu(int id, int command) { //执行指定的命令switch (command) { case 1: System.out.println("请输入存入的钱数"); double depositMoney = scanner.nextDouble(); accounts.get(id).deposit(depositMoney); break;
// double withdrawMoney = scanner.nextDouble();
// accounts.get(id).withDraw(withdrawMoney);
// break;
// System.out.println("您账户里的余额式" + accounts.get(id).getBalance());
// break; case 2: System.out.println("请输入取出的钱数"); double withdrawMoney = scanner.nextDouble(); accounts.get(id).withDraw(withdrawMoney); break; case 3: System.out.println("您账户里的余额式" + accounts.get(id).getBalance()); break; case 0: isLogin = false; System.out.println("取卡并退出");break; default: System.out.println("请输入正确的指令:"); break;}} public static void welcome(){//一定要定义为静态方法System.out.println("************************************************");System.out.println("*************欢迎光临*************************");System.out.println("***********请插入银行卡进行操作************");System.out.println("*************************************************");}public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Account acc1 = new Account(001, 100,100); accounts.add(acc1); Account acc2 = new Account(002, 200,150); accounts.add(acc2); Account acc3 = new Account(003, 300,200); accounts.add(acc3); Account acc4 = new Account(004, 400,250); accounts.add(acc4);
// while(true) {ATM.welcome();scanner = new Scanner(System.in); int id = scanner.nextInt();
//
// for (int i = 0; i < 3; i++) {for (Account acc : accounts) { //检查账户和密码是否相符if ( id == acc.getId()) {
// isLogin1 = true; System.out.println("请输入密码");int password= scanner.nextInt();if ( password == acc.getPassword()) { //)&&(password==acc.password)isLogin = true; break;}}
// else {
// System.out.println("请输入正确的账户");
// }}
// else {
// System.out.println("请输入正确的密码");
// }
//
// //此处不能直接用acc.id 因为id 是私有变量
// }
// else {
//
// int id2= scanner.nextInt();
// break;
// }//检测账号和密码是否正确// }//三次机会// else {
// System.out.println("请输入正确的ID");
// int id2 = scanner.nextInt();
// continue;
// }
// }
//
// System.out.println("请输入密码");
// int password = scanner.nextInt();//
// else {
// System.out.println("请输入正确的ID");
// int password2= scanner.nextInt();
// break;
// }//
//
//
//
// while (isLogin1==true||isLogin2==true)
// {
// isLogin=true;
// }while (isLogin) { showMenu(); scanner = new Scanner(System.in); int command = scanner.nextInt(); processMenu(id, command); } } }}
再设置一个储存客户信息的,在这里我们用链表来引用
Account acc1 = new Account(001, 100,100);
accounts.add(acc1);
Account acc2 = new Account(002, 200,150);
accounts.add(acc2);
Account acc3 = new Account(003, 300,200);
accounts.add(acc3);
Account acc4 = new Account(004, 400,250);
accounts.add(acc4);
Account.java
import java.util.Date;/*** ATM* @author mac**/
public class Account {int id;private int password;private double balance;public int getId() {return id;}public void setId(int id) {this.id = id;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}public Account() {// TODO Auto-generated constructor stub}public Account(int id, int password, double balance) {super();this.id = id;this.password = password;this.balance = balance;}public void withDraw(double money) { balance -= money; } public void deposit(double money) { balance += money; }
// public int getPassword() {return password;}public void setPassword(int password) {this.password = password;}}
以上程序均为个人作业代码 ,如有错误,请加微信macforyou1
模拟银行存取款业务 简要代码相关推荐
- java实验报告之模拟银行存取款业务
一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Time of completion:2022.12.20 La ...
- 模拟银行存取款业务 java
实训题5:模拟银行存取款业务 实训目的:本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作 ...
- java模拟银行存取_JAVA基础案例 模拟银行存取款业务
模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作 ...
- java模仿银行账务业务_Java基础案例 - 模拟银行存取款业务
博学谷--让IT教学更简单,让IT学习更有效 模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当 ...
- 模拟银行存款java,模拟银行存取款业务
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class Account { // 初始化存款 float count = 0f;// 当前账户余额 int money1;// 存款数, ...
- 基于Java语言实现模拟银行存取款业务系统
资源下载地址:https://download.csdn.net/download/sheziqiong/85820969 1.项目简介 本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行 ...
- python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...
目录结构 一.案例描述 二.需求分析 1. 业务流程图 2. 业务项&测试场景 三.代码实现 四.用例设计&执行(简化模式) 1. 登录业务 2. 存款业务 3. 取款业务 4. 退卡 ...
- 模拟银行存取款业务(GUI版)
一.实验目的 (1)全面检验面向对象编程思想,巩固Java面向对象.集合和常用API类等方面知识的应用: (2)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上. 二.实验内容 模拟网上银 ...
- java银行业务_java模拟银行存取款业务
//创建基接口BankAccount,包含 存款方法playIn(),取款方法withdraw(),查询余额方法getBalance(). interfaceBankAccount{void play ...
最新文章
- matlab div矩阵运算,【求助】多维矩阵求和运算!!
- 【数据竞赛】盘点Kaggle中常见的AutoEDA工具库
- CNN基础知识(1)
- 一步步编写操作系统 49 加载内核2
- 【CodeForces - 988C 】Equal Sums (思维,STLmap,STLset,tricks)
- python中实现switch
- php中的 i详解,浅析PHP中的i++与++i的区别及效率
- C#:导出json数据到Excel表格
- c语言学生教务管理系统,c语言教务管理系统.doc
- linux麦克风增强软件,如何在Windows,Mac,Linux中消除背景麦克风噪音
- 4.Linux本地yum源仓库安装配置
- mac 装java ecli_Eclipse下Maven安装和配置
- 批量生成insert语句的方法(word转excel,excel用公式生成insert)
- 类似淘票票 选座功能(svg)
- 阿里图标icon二次引入+ 图标引入后是黑色解决办法。
- 免费售后——公司办公电脑配置单2500到4500档(包含显示器)
- 部署rtl88xx驱动/rpcapd,支持wireshark远程抓Wifi包
- 无缝衔接的人会遭报应吗_恋爱中,无缝对接的都是垃圾吗?
- 第四章 机器人控制方法
- JAVA服务端实现页面截屏(附代码)