package bigHomework.BankSystem;

import java.util.Scanner;

public class ArchitectureOfBank {
    public static void main(String[] args) {

System.out.println("------------------------------------------------------------------欢迎来到 PELE银行系统------------------------------------------------------------------------------- ");
        Scanner sc = new Scanner( System.in );
        String[] accountArrays = {"A","B","C"};
        int[] pswArrays= {111,222,333};
        double[] balanceArrays = { 1000,2000,3000 };

while(true) { // End of while of mainMenu 
            int accountNo = 0;
            int payeeNo = 0;
            boolean bMainMenu = false;
            boolean bAccountMenu = false;
            System.out.println("1.登录账户");
            System.out.println("2.银行理财活动");
            System.out.println("3.退出系统");
            System.out.println("");

System.out.print("请选择所需操作:");
            int mainMenu = sc.nextInt();
            if( mainMenu == 1 || mainMenu == 2  || mainMenu == 3  ) {
                while( mainMenu == 1  ) {// Log in accountMenu.
                    int deposite = 0;
                    int draw = 0;
                    boolean back = true;
                    boolean out = false;
                    boolean bingo = false;

do {
                        System.out.print("请输入账号名");
                        String accountIn = sc.next();
                        System.out.print("请输入密码");
                        int pswIn = sc.nextInt();
                        for( int i = 0 ; i < accountArrays.length ; i ++  ) {
                            if( accountIn.equals( accountArrays[i])) {
                                accountNo = i;
                                bingo = true;
                                break;
                            }
                        }
                        if( !bingo ){
                            System.out.println("账号名错误");
                            System.out.println("==== ! ======= ! ====");
                            System.out.print("重新输入 或者 返回主菜单 ? ( y/other )");
                            String quite =sc.next();
                            if(quite.equals("y")) {
                                System.out.println("====== 请重新输入登录信息 ======");
                                break;
                            }
                            else {
                                System.out.println(" < < < < < < < < 正在返回主菜单  < < < < < < < < ");
                                back = false;
                                out = true;
                                break;
                            }
                        }

if( pswArrays[accountNo] == pswIn ) {
                            System.out.println("账号登录成功");
                            back = false;
                            break;
                        }
                        else{
                            System.out.println("密码错误");

System.out.println("==== ! ======= ! ====");
                            System.out.print("重新输入  或者 返回主菜单?(y/other)");
                            String re =sc.next();
                            if(re.equals("y")) {
                                System.out.println("====== 请重新输入登录信息 ======");

}
                            else {
                                System.out.println(" < < < < < < < < 正在返回主菜单  < < < < < < < < ");
                                out = true;
                                back = false;
                                break;
                            }

}

// delete}
                    }
                    while( back );
                    if( out ) {
                        break;
                    }

//用户界面 Account mainMenu

while( bingo ) {
                        bAccountMenu = false;
                        bMainMenu = false;
                        System.out.println("1. 查询余额");
                        System.out.println("2. 存款业务");
                        System.out.println("3. 取款业务");
                        System.out.println("4. 转账业务");
                        System.out.println("5. 退出账户");
                        System.out.println("");
                        System.out.print("选择所需操作 :");
                        int oprLogin = sc.nextInt();
                        System.out.println("> > > > > > > > > > > > > > > ");
                        //用户界面switch
                        switch(oprLogin) {
                        case 1 : 
                            do {
                                back = true;
                                System.out.println(" 用户 " + accountArrays[accountNo] + "目前的账户余额为:" + balanceArrays[accountNo] );
                                System.out.println("> > > > > > > > > > > > > > > ");

System.out.print("  返回用户菜单 或者 刷新界面?  ( y / other )");
                                String bLogin = sc.next();
                                if(bLogin.equals("y")) {    
                                    out = true;
                                    System.out.println(" < < < < < < 正在返回用户菜单  < < < < < < < < < < ");
                                    bAccountMenu = true;
                                    break;
                                }

}
                            while(back);
                            if( bAccountMenu ) {
                                break;
                            }

case 2 : 
                            do {
                                back = true;
                                System.out.println(" 请输入存款金额(仅限整百金额) ");
                                deposite = sc.nextInt();
                                if( deposite % 100 == 0 && deposite > 0 ) {
                                    balanceArrays[accountNo] += deposite;
                                    System.out.println(" > > > > > > > > > > > > > > > ");
                                    System.out.println("存款成功");

System.out.println("  返回用户菜单 或者 继续存款?  ( y / other )");
                                    String bAccoountMenu = sc.next();
                                    if( bAccoountMenu.equals("y") ) {
                                        System.out.println(" < < < < < < <  正在返回用户菜单  < < < < < < < < < ");
                                        bAccountMenu = true;
                                        break;
                                    }
                                }
                                else {
                                    System.out.println("输入金额有误");
                                    System.out.println("  返回用户菜单 或者 重新输入 ?  ( y / other )");
                                    String bAccoountMenu = sc.next();
                                    if( bAccoountMenu.equals("y") ) {    
                                        System.out.println(" < < < < < < < < 正在返回用户菜单   < < < < < < < < ");
                                        bAccountMenu = true;
                                        break;
                                    }
                                }

}
                            while( back );
                            if( bAccountMenu ) {
                                break;
                            }

case 3 : 
                            do {
                                back = true;
                                System.out.println(" 请输入取款金额(仅限整百金额) ");
                                draw = sc.nextInt();
                                if( draw % 100 == 0 && draw > 0 && draw <= balanceArrays[accountNo] ) {
                                    balanceArrays[accountNo] -= draw;
                                    System.out.println("> > > > > > > > > > > > > > > ");
                                    System.out.println( " 已出款 , 请及时取走现金! ");

System.out.println("  继续取款   或者  返回用户菜单?  ( y / other )");
                                    String bAccoountMenu = sc.next();
                                    if( bAccoountMenu.equals("y") ) {

}
                                    else {
                                        System.out.println(" < < < < < < <  正在返回用户菜单  < < < < < < < < < ");
                                        bAccountMenu = true;
                                        break;
                                    }
                                }
                                else {
                                    System.out.println("余额不足");
                                    System.out.println("  返回用户菜单 或者 重新输入 ?  ( y / other )");
                                    String bAccoountMenu = sc.next();
                                    if( bAccoountMenu.equals("y") ) {    
                                        System.out.println(" < < < < < < < 正在返回用户菜单   < < < < < < < < < ");
                                        bAccountMenu = true;
                                        break;
                                    }

}
                            }
                            while( back );
                            if( bAccountMenu ) {
                                break;
                            }

case 4 : 
                            do {
                                back = true;
                                boolean bingoPayee = false ;
                                System.out.print("请输入收款人账户名 : ");
                                String payee = sc.next();
                                for(  int i = 0 ; i < accountArrays.length ; i ++   ) {
                                    if( payee.equals( accountArrays[i] ) ) {
                                        payeeNo = i;
                                        bingoPayee = true;
                                        break;
                                    }
                                }
                                if( bingoPayee ) {
                                    System.out.println(" 请输入转账金额 ");
                                    double transfer = sc.nextDouble();
                                    if( transfer <= balanceArrays[accountNo] ) {
                                        balanceArrays[accountNo] -= transfer;
                                        balanceArrays[payeeNo] += transfer;
                                        System.out.println("> > > > > > > > > > > > > > > ");
                                        System.out.println( "  转账成功! ");

System.out.print("  继续转账   或者  返回用户菜单?  ( y / other )");
                                        String bAccoountMenu = sc.next();
                                        if( bAccoountMenu.equals("y") ) {

}
                                        else {
                                            System.out.println(" < < < < < < < 正在返回用户菜单   < < < < < < < < < ");
                                            bAccountMenu = true;
                                            break;
                                        }
                                    }
                                    else {
                                        System.out.println("输入金额错误");
                                        System.out.println("==== ! ======= ! ====");
                                        System.out.print("  重新输入转账金额   或者  返回用户菜单?  ( y / other )");
                                        String bAccoountMenu = sc.next();
                                        if( bAccoountMenu.equals("y") ) {

}
                                        else {
                                            System.out.println("< < < < < < < 正在返回用户菜单  < < < < < < < < <");
                                            bAccountMenu = true;
                                            break;
                                        }
                                    }
                                }
                                else {
                                    System.out.println("未找到该用户");
                                    System.out.println("==== ! ======= ! ====");
                                    System.out.print("  重新输入收款账户名   或者  返回用户菜单?  ( y / other )");
                                    String bAccoountMenu = sc.next();
                                    if( bAccoountMenu.equals("y") ) {

}
                                    else {
                                        System.out.println("< < < < < < < 正在返回用户菜单   < < < < < < < < <");
                                        bAccountMenu = true;
                                        break;
                                    }

}
                            }
                            while( back );
                            if( bAccountMenu ) {
                                break;
                            }

case 5 :
                        {
                            System.out.println("< < < < < < < 正在退出用户菜单  < < < < < < < < <");
                            bMainMenu = true;
                            break;
                        }

}    //用户界面switch

if( bMainMenu ) {
                            break;
                        }
                    }//用户界面 Account mainMenu(bingo)

if( bMainMenu ) {
                        break;
                    }

}// Log in account.

while( mainMenu == 2 ) {   // financial activities
                    bMainMenu = false;
                    System.out.println("1. 银行奥运纪念币发行");
                    System.out.println("2. 银行短期理财产品活动");
                    System.out.println("3. 银行长期理财产品活动");
                    System.out.println("4.  V.I.P. 理财沙龙 ");
                    System.out.println("5.  退出 ");
                    System.out.println("");

System.out.print("请选择所需操作:");
                    int secondMenu = sc.nextInt();
                    switch( secondMenu ) {
                    case 1 : 
                    {
                        System.out.println(" 银行定于2020年12月1日发行第24届冬季奥林匹克运动会金银纪念币(第1组)一套。"
                                + "该套纪念币共9枚,其中金质纪念币3枚,银质纪念币5枚,金银双金属纪念币1枚,"
                                + "均为中华人民共和国法定货币。面额500元的30克金12克银圆形双金属纪念币,最大发行量为1万枚。 ");

System.out.println("退出? ( y / other )");
                        String quite = sc.next();
                        if( quite.equals("y") ) {
                            break;
                        }
                    }

case 2 : 
                    {
                        System.out.println("灵活存产品 ,年化收益率在4.8%左右,属于银行存款产品,50万以内100%赔付,适合灵活型及以上投资者。 ");

System.out.println("退出? ( y / other )");
                        String quite = sc.next();
                        if( quite.equals("y") ) {
                            break;
                        }
                    }

case 3 : 
                    {
                        System.out.println("稳健存产品 ,年化收益率在6%左右,属于银行存款产品,50万以内100%赔付,适合稳健型及以上投资者。 ");

System.out.println("退出? ( y / other )");
                        String quite = sc.next();
                        if( quite.equals("y") ) {
                            break;
                        }
                    }

case 4 : 
                    {
                        System.out.println("7月10日,本行有幸邀请到上海复旦大学的金融系教授钱军"
                                + "为本行的VIP用户带来一场最新的全球金融形势的分享,"
                                + "届时会给每位铂金VIP用户进行单独的投资分析和理财建议 ");

System.out.println("退出? ( y / other )");
                        String quite = sc.next();
                        if( quite.equals("y") ) {
                            break;
                        }
                    }

case 5 : 
                    {
                        bMainMenu = true;
                        break;

}

}
                    if( bMainMenu ) {
                        System.out.println("正在返回主菜单");
                        System.out.println(" < < < < < < < < < < < < < < < < ");
                        break;
                    }

}   // financial activities

if( mainMenu == 3 ) {//Exit
                    System.out.println("感谢使用,欢迎下次再来 !");
                    System.out.println("======== 再见 ========");
                    System.exit(0);

}

}
            else {
                System.out.println(" 输入错误,请重新输入!");
                System.out.println("==== ! ======= ! ====");
            }

}// End of while of mainMenu

//End of Main
    }

}

银行ATM操作系统作业相关推荐

  1. python银行ATM自动取款机

    python银行ATM自动取款机 银行自动取款机 main.py(主程序) admin.py atm.py user.py card.py 总结 银行自动取款机 main.py(主程序) main.p ...

  2. Java实现超级简易的银行ATM机项目(详细注释版)

    首先放一个客户(其实就是老师给的作业)需求的效果图 在这里先准备所需要的类 用户类:卡号 密码 真实姓名 余额 开户时间定义Account类 存储用户信息 封装属性 并提供getXXX和setXXX ...

  3. Java 多线程 模拟银行ATM实时存取钱

    近期想回顾一些知识: 一.Java 多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开 ...

  4. 基于5G/4G无线通信的银行ATM无线通信联网方案

    近年来,物联网的应用各个领域的应用不断地扩展开来,5G/4G无线应用对行业应用的影响也越来越广泛,银行采用5G/4G无线网络方式构建无线组网系统,在非常安全可靠的组网条件下,建立起银行无线交易行业系统 ...

  5. java atm模拟系统_Java RPC模式开发一个银行atm模拟系统

    采用rpc模式开发一个银行atm模拟系统. 系统主要提供一个服务Card,该服务接口可以提供登录.查询.取钱.存钱等功能.服务接口的设计和实现自定义. Atm客户端功能需求: 1.ATM可以实现用户登 ...

  6. C#——《C#语言程序设计》实验报告——继承与多态——银行ATM程序

    一.实验目的 掌握C#中各种成员的写法: 掌握C#继承和多态概念: 掌握常用接口的使用方法. 二.实验内容 在银行ATM示例的基础上,利用面向对象的思想及语法,进行改进.要求如下: 1)使用面向对象的 ...

  7. C#——银行ATM程序DEMO

    问题描述 1. 使用面向对象的思想,模拟现实世界中的银行.账号.ATM等对象,其中类中有字段.方法: 2. 在程序中适当的地方,使用属性.索引,注意使用修饰符: 3. 使用继承,继承账号(Accoun ...

  8. 计算机操作系统作业答案,计算机操作系统作业及答案

    计算机操作系统作业及答案 作业作业若页大小为,计算机地址总线为位,则页号共有多少位?逻辑地址空间最多包含多少页?逻辑地址在第几页?页内偏移是多少?若该页被装进物理块中,则物理地址是多少?解:所以页内偏 ...

  9. 课程设计:基于SQL Server的银行ATM 存取款机系统设计与实现

    目录 前言 一.项目背景 1.项目任务 2.项目技能目标 3.需求概述 4.开发环境 5 .问题分析 (1) 银行存取款业务介绍 (2) 客户信息 (3) 银行卡账户信息 (4) 银行卡交易信息 (5 ...

最新文章

  1. HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。...
  2. vacode允许c_Visual Studio Code 配置C/C++环境
  3. Leetcode 300 最长递增子序列 (每日一题 20210803)
  4. 报时功能_现在的智能机都没有内置整点自动报时吗?锤子坚果手机SOS有!
  5. (六)python3 只需3小时带你轻松入门——循环
  6. 分析java 线程占用内存_Java线程:保留的内存分析
  7. C++ Vecctor容器浅析
  8. 阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制
  9. contains方法_【原创】Pandas数据处理系列(二):常用处理方法笔记
  10. 161122、BOM 操作写法示例
  11. java svn配置环境变量,Android环境变量配置和安装SVN
  12. linux的日志监控和定期处理脚本
  13. 详解:CDH预警配置 QQ邮箱 与 企业实操
  14. Java小游戏之飞翔的小鸟
  15. 怎么用计算机解方程,计算器怎么解方程
  16. C#:在一个窗体类中改变另一个窗体控件的属性
  17. 以亲身经历解读经典的定律或法则
  18. 面试android开发工程师小结
  19. 优秀课程案例:使用Scratch制作坦克大战增强版!
  20. 计算机主机机箱背后,2.8L的办公电脑?可以背在显示器后面的主机—你见过吗?...

热门文章

  1. 关于微信卡券47001的问题
  2. Personal Information
  3. 承认多元化,保持宽容
  4. 基于JAVASEOUL设计师品牌代购商城计算机毕业设计源码+系统+lw文档+部署
  5. 四、最小生成树——普里姆(Prim)算法
  6. 常用的算法(PHP 版)
  7. PHP算法-快速排序
  8. web前端开发主要培训哪些内容
  9. win10计算机性能选项在哪,Win10性能大提升,这些设置让你的电脑直接起飞
  10. 将切割后的小图片还原为大图片