zoukankan      html  css  js  c++  java
  • 7.24Java入门--->第五节

    一周的学习结束

    最终练习

    程序开始运行输出到控制台:
    ************提示****************
    输入0:开户
    输入1:查询
    输入2:存款
    输入3:取款
    输入4:退出
    ********************************
    
    
    如果用户输入的不是0-4之间的数提示:您选择的菜单不存在,请重新选择:
    
    程序开始运行输出到控制台:
    ************提示****************
    输入0:开户
    输入1:查询
    输入2:存款
    输入3:取款
    输入4:退出
    ********************************
    
    当用户输入0时。则进入开户功能:系统提示:
    ********************************
    您选择的是开户功能
    请输入您的姓名:
    此时用户需要输入姓名,输入完毕后系统提示:
    请输入您的身份证号:
    此时用户需要输入身份证号,输入完毕验证是否为18位身份证,如果未通过验证,提示重新输入身份证
    直到通过验证为止。
    通过验证后输入密码:
    此时用户需要输入6位纯数字密码,输入完成后提示:
    开户成功  谢谢使用,从新回到
    ************提示****************
    输入0:开户
    输入1:查询
    输入2:存款
    输入3:取款
    输入4:退出
    ********************************
    
    用户输入1时,进入查询功能:系统提示:
    您选择的是查询功能,请输入您的身份证,此时用户输入身份证,系统对身份证进行验证(和开户时输入的身份证是否一致)
    如果不存在提示用户输入的身份证不存在,请重新输入,直到用户输入正确的身份证后提示请输入您的密码,
    此时系统判断是否是开户时输入的密码,如果不是提示用户继续重新输入(最多三次机会)
    验证通过后系统将显示当前账户的信息并进入主菜单。
    用户姓名  您好
    您的余额是  XXX
    您的身份证是  XXX
    ************提示****************
    输入0:开户
    输入1:查询
    输入2:存款
    输入3:取款
    输入4:退出
    ********************************
    
    
    当用户输入2时,进入存款功能,系统提示:
    *******************
    你选择的是存款功能
    请输入您的身份证,此时用户需要输入存款的身份证,系统对身份证进行检测,如果不存在提示
    您输入的身份证不存在,请重新输入:
    当用户输入身份证正确时,提示输入密码:
    此时系统判断是否是开户时输入的密码,如果不是提示用户继续重新输入(最多三次机会)
    验证通过后系统将显示当前账户的信息
    ****************
    用户姓名  您好
    您的余额是  XXX  
    您的身份证是  XXX
    ***************
    此时要求用户输入存款金额,系统对金额进行判断,如果输入的数小于等于0则提示您输入的数据无效,系统自动退出!谢谢使用。
    返回主菜单
    import java.math.BigDecimal;
    import java.sql.SQLOutput;
    import java.util.Scanner;
    
    public class Test005 {
        private static String name;
        private static String num;
        private static int password;
    //    private static int sum=100;
        private static boolean l2;
        private static BigDecimal sum=new BigDecimal(100);
        public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
            while(true){
                ssout();
                System.out.println("请输入序号");
                int i=scanner.nextInt();
                if (i==0){
                    System.out.println("您选择的是开户");
                    account();
                    continue;
                }
                if (i==1){
                    System.out.println("您选择的是查询");
                    select();
                    continue;
                }
                if (i==2){
                    System.out.println("您选择的是存款");
                    add();
                    continue;
                }
                if (i==3){
                    System.out.println("取款");
                    sub();
                    continue;
                }
                if (i==4){
                    System.out.println("退出");
                    return;
                }
                if (i!=1&&i!=2&&i!=3&&i!=4){
                    System.out.println("输入错误重新输入");
                    continue;
                }
            }
        }
    
        public static void ssout(){
            System.out.println("************提示***********");
            System.out.println("输入0:开户");
            System.out.println("输入1:查询");
            System.out.println("输入2:存款");
            System.out.println("输入3:取款");
            System.out.println("输入4:退出");
            System.out.println("**************************");
        }
        public static void account(){
            Scanner scanner=new Scanner(System.in);
    
            System.out.println("请输入您的姓名:");
            name=scanner.next();
            System.out.println("请输入您的身份证号:");
            num=scanner.next();
            int i=num.length();
            if (i!=18){
                System.out.println("身份证号输入错误,返回上一级");
                return;
            }
            System.out.println("请输入您的密码:(密码为6为纯数字)");
            password=scanner.nextInt();
            String s=password+"";
            int test=s.length();
            if (test!=6){
                System.out.println("密码输入错误,返回上一级");
                return;
            }
            System.out.println("开户成功");
        }
        public static void select(){
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入您的身份证,系统将对您的身份践行验证:");
            boolean l1=true;
            while(l1) {
                String testNum = scanner.next();
                if (testNum.equals(num)) {
                    for (int i = 0; i <= 3; i++) {
                        if(i==3){
                            System.out.println("输入错误过多,退出程序");
                            l2=false;
                            return;
                        }
                        System.out.println("输入密码,共有三次机会,第"+(i+1)+"次");
                        String testName=scanner.next();
                        String s=password+"";
                        if(testName.equals(s)){
                            System.out.println(name+"您好");
                            System.out.println("您的余额是"+sum);
                            System.out.println("您的身份证是"+num);
                            return;
                        }else {
                            System.out.println("输入错误");
                            continue;
                        }
                    }
                } else {
                    System.out.println("error输入错误,重新输入");
                    continue;
                }
            }
        }
        public static void add(){
            Scanner scanner=new Scanner(System.in);
            l2=true;
            select();
            if (l2==false) return;
            System.out.println("****************");
            System.out.println("输入存款金额");
            int i=scanner.nextInt();
            if (i<0){
                System.out.println("无效,自动退出");
                return;
            }else {
                sum=sum.add(BigDecimal.valueOf(i));
            }
        }
        public static void sub(){
            Scanner scanner=new Scanner(System.in);
            l2=true;
            select();
            if (l2==false) return;
            System.out.println("****************");
            System.out.println("输入取款金额");
            int i=scanner.nextInt();
            int s= sum.intValue();
            if (i<0||i>s){
                System.out.println("无效,自动退出");
                return;
            }else {
                sum=sum.subtract(BigDecimal.valueOf(i));
                System.out.println("钱你是拿不到的,但是余额会扣 [/奸笑] ");
                System.out.println("余额:"+sum);
            }
        }
    }

    功能全部完成

    关于bigdecimal

    涉及到钱必须用Bigdecimal不然会被劝退的

    这周就没啥难度了

  • 相关阅读:
    Saltstack module acl 详解
    Saltstack python client
    Saltstack简单使用
    P5488 差分与前缀和 NTT Lucas定理 多项式
    CF613D Kingdom and its Cities 虚树 树形dp 贪心
    7.1 NOI模拟赛 凸包套凸包 floyd 计算几何
    luogu P5633 最小度限制生成树 wqs二分
    7.1 NOI模拟赛 dp floyd
    springboot和springcloud
    springboot集成mybatis
  • 原文地址:https://www.cnblogs.com/springxian/p/13370879.html
Copyright © 2011-2022 走看看