本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的

卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款:1取款:2余额:3退出:0),输入数字1、2时,将进行存取款操作,此时需要输入存取的金额,并进行正确的金额加减计算;输入数字3时,显示当前账户的余额;输入数字0时将退出整个系统。其登陆后界面如下图所示:

涉及的知识点:面向对象,集合,io

二、项目需求分析通过项目简介中的要求,我们将项目的具体需实现的功能分析如下:

  1. 1)  首先要实现用户的登陆,判断卡号和密码。

  2. 2)  登陆成功后,提示四种可操作类型(存款:1、取款:2、余额:3、退出:0),输入相应类型数

    字,进入其对应功能。

  3. 3)  选择1,存款时输入金额后,要判断金额是否合理(输入金额不能小于0),合理显示存款成功,

    不合理回到操作类型选择功能,让其从新选择操作。

  4. 4)  选择2,取款时输入相应金额后,也要进行金额是否合理判断,并且其取款金额不能大于账户余额,

    如果大于账户余额,则提示“余额不足,取款失败!”,并回到操作类型选择功能。

  5. 5)  选择3,系统显示账户余额。

  6. 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

模拟银行存取款业务 简要代码相关推荐

  1. java实验报告之模拟银行存取款业务

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Time of completion:2022.12.20 La ...

  2. 模拟银行存取款业务 java

    实训题5:模拟银行存取款业务 实训目的:本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作 ...

  3. java模拟银行存取_JAVA基础案例 模拟银行存取款业务

    模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作 ...

  4. java模仿银行账务业务_Java基础案例 - 模拟银行存取款业务

    博学谷--让IT教学更简单,让IT学习更有效 模拟银行存取款业务 编写一个Java应用程序,模拟网上银行登录及存取款业务.登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当 ...

  5. 模拟银行存款java,模拟银行存取款业务

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public class Account { // 初始化存款 float count = 0f;// 当前账户余额 int money1;// 存款数, ...

  6. 基于Java语言实现模拟银行存取款业务系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85820969 1.项目简介 本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行 ...

  7. python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...

    目录结构 一.案例描述 二.需求分析 1. 业务流程图 2. 业务项&测试场景 三.代码实现 四.用例设计&执行(简化模式) 1. 登录业务 2. 存款业务 3. 取款业务 4. 退卡 ...

  8. 模拟银行存取款业务(GUI版)

    一.实验目的 (1)全面检验面向对象编程思想,巩固Java面向对象.集合和常用API类等方面知识的应用: (2)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上. 二.实验内容 模拟网上银 ...

  9. java银行业务_java模拟银行存取款业务

    //创建基接口BankAccount,包含 存款方法playIn(),取款方法withdraw(),查询余额方法getBalance(). interfaceBankAccount{void play ...

最新文章

  1. matlab div矩阵运算,【求助】多维矩阵求和运算!!
  2. 【数据竞赛】盘点Kaggle中常见的AutoEDA工具库
  3. CNN基础知识(1)
  4. 一步步编写操作系统 49 加载内核2
  5. 【CodeForces - 988C 】Equal Sums (思维,STLmap,STLset,tricks)
  6. python中实现switch
  7. php中的 i详解,浅析PHP中的i++与++i的区别及效率
  8. C#:导出json数据到Excel表格
  9. c语言学生教务管理系统,c语言教务管理系统.doc
  10. linux麦克风增强软件,如何在Windows,Mac,Linux中消除背景麦克风噪音
  11. 4.Linux本地yum源仓库安装配置
  12. mac 装java ecli_Eclipse下Maven安装和配置
  13. 批量生成insert语句的方法(word转excel,excel用公式生成insert)
  14. 类似淘票票 选座功能(svg)
  15. 阿里图标icon二次引入+ 图标引入后是黑色解决办法。
  16. 免费售后——公司办公电脑配置单2500到4500档(包含显示器)
  17. 部署rtl88xx驱动/rpcapd,支持wireshark远程抓Wifi包
  18. 无缝衔接的人会遭报应吗_恋爱中,无缝对接的都是垃圾吗?
  19. 第四章 机器人控制方法
  20. JAVA服务端实现页面截屏(附代码)

热门文章

  1. 积分电路中对电容的电介吸收性质的考虑
  2. 创业阶段如何找客户_怎么才叫创业 创业分为哪几个阶段?
  3. uview 瀑布流_微信小程序瀑布流最好最简单的解决方案
  4. GitHub+HEXO博客更换主题
  5. vs2010更换主题教程
  6. 红米note9 android10,经验解析小米10和红米note9 pro哪个好?谁是性价比之王
  7. js 判断是否为空对象、空数组
  8. 逻辑思维183 怎样成为一个高手
  9. qdialog 返回值_QDialog 窗口级别模态(续)
  10. 教练, 我想学java的新特征