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不然会被劝退的

这周就没啥难度了

 

posted @   Spring_Xian  阅读(157)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示