java初级ATM模拟

来源:互联网 发布:疲劳驾驶数据 编辑:程序博客网 时间:2024/05/24 22:42




import java.util.Scanner;

public class ATM {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String mi = "111111";
        int ci = 0;
        int sum = 0;
        int sheng = 0;
        exe: do {
            // 循环相加,实验次数,超过三次失败
            ci++;
            if (ci > 3) {
                System.out.println("密码错误,请取卡");
                break exe;
            }
            // 获取密码
            System.out.println("请输入密码");
            Scanner sc = new Scanner(System.in);
            String ma = sc.next();
            // 验证密码,正确进入判断,不正确进行验证循环
            if (ma.equals(mi)) {
                // 获取提取金额
                chu: do {
                    System.out.println(
                            "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n" + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                    Scanner sc5 = new Scanner(System.in);
                    // 获取字符串
                    int num = sc5.nextInt();
                    switch (num) {
                    case 0:
                        c0: do {
                            System.out.println("请输入金额");
                            Scanner sc1 = new Scanner(System.in);
                            // 获取字符串
                            String jine = sc1.next();
                            // 字符串转int
                            int yu = Integer.parseInt(jine);
                            // 循环判断,不符合情况的进入循环提示
                            while (!(yu % 100 == 0 && yu <= 1000 && yu >= 0)) {
                                System.out.println("金额错误,是否继续y/n");
                                Scanner sc6 = new Scanner(System.in);
                                String panzi = sc6.next();
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    System.out.println("请输入金额");
                                    Scanner sc2 = new Scanner(System.in);
                                    jine = sc2.next();
                                    yu = Integer.parseInt(jine);

                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                }

                            }
                            // 符合情况的跳出,输出信息
                            do {
                                sum += yu;
                                if (sum > 20000) {
                                    sheng = 20000 - sum + yu;
                                    System.out.println("余额不足2W,还可以取出" + sheng);
                                    sum -= yu;
                                    System.out.println("是否继续Y/N");
                                    Scanner sc7 = new Scanner(System.in);
                                    String panzi = sc7.next();
                                    do {
                                        if (panzi.equals("y") || panzi.equals("Y")) {
                                            /*
                                             * System.out.println(
                                             * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                             * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                             * Scanner sc8=new Scanner(System.in);
                                             * num=sc8.nextInt();
                                             */
                                            break c0;
                                        } else if (panzi.equals("n") || panzi.equals("N")) {
                                            System.out.println("交易取消,请取卡");
                                            break exe;
                                        } else {
                                            System.out.println("请输入正确指令");
                                            System.out.println("是否继续Y/N");
                                            Scanner sc16 = new Scanner(System.in);
                                            panzi = sc16.next();

                                        }
                                    } while (true);
                                } else if (sum == 20000) {
                                    System.out.println("您取了" + jine + "元");
                                    System.out.println("余额已空,欢迎使用,请取卡");
                                    break exe;
                                }
                                System.out.println("您取了" + jine + "元");
                                System.out.println("交易完成,是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c0;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } while (true);
                        } while (true);
                        break;
                    // 跳出最初循环
                    case 1:
                        c1: do {
                            sum += 100;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 100;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 100;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c1;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了100元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了100元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c1;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);
                        } while (true);
                        break;
                    // 跳出最初循环
                    case 2:
                        c2: do {
                            sum += 300;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 300;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 300;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c2;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了300元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了300元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c2;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);
                        } while (true);
                        break;
                    case 3:
                        c3: do {
                            sum += 500;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 500;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 500;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c3;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了500元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了500元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c3;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);
                        } while (true);
                        break;
                    case 4:
                        c4: do {
                            sum += 1000;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 1000;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 1000;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c4;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了1000元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了1000元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c4;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);
                        } while (true);
                        break;
                    case 5:
                        c5: do {
                            sum += 3000;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 3000;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 3000;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c5;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了3000元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了3000元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c5;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);
                        } while (true);
                        break;
                    case 6:
                        c6: do {
                            sum += 6000;
                            if (sum > 20000) {
                                sheng = 20000 - sum + 6000;
                                System.out.println("余额不足2W,还可以取出" + sheng);
                                sum -= 6000;
                                System.out.println("是否继续Y/N");
                                Scanner sc7 = new Scanner(System.in);
                                String panzi = sc7.next();
                                do {
                                    if (panzi.equals("y") || panzi.equals("Y")) {
                                        /*
                                         * System.out.println(
                                         * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                         * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                         * Scanner sc8=new Scanner(System.in);
                                         * num=sc8.nextInt();
                                         */
                                        break c6;
                                    } else if (panzi.equals("n") || panzi.equals("N")) {
                                        System.out.println("交易取消,请取卡");
                                        break exe;
                                    } else {
                                        System.out.println("请输入正确指令");
                                        System.out.println("是否继续Y/N");
                                        Scanner sc16 = new Scanner(System.in);
                                        panzi = sc16.next();

                                    }
                                } while (true);
                            } else if (sum == 20000) {
                                System.out.println("您取了6000元");
                                System.out.println("余额已空,欢迎使用,请取卡");
                                break exe;
                            }
                            System.out.println("您取了6000元");
                            System.out.println("交易完成,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            do {
                                if (panzi.equals("y") || panzi.equals("Y")) {
                                    /*
                                     * System.out.println(
                                     * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                     * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                     * Scanner sc8=new Scanner(System.in);
                                     * num=sc8.nextInt();
                                     */
                                    break c6;
                                } else if (panzi.equals("n") || panzi.equals("N")) {
                                    System.out.println("交易取消,请取卡");
                                    break exe;
                                } else {
                                    System.out.println("请输入正确指令");
                                    System.out.println("是否继续Y/N");
                                    Scanner sc16 = new Scanner(System.in);
                                    panzi = sc16.next();

                                }
                            } while (true);

                        } while (true);
                        break;
                    default:
                        do {
                            System.out.println("输入错误,是否继续Y/N");
                            Scanner sc7 = new Scanner(System.in);
                            String panzi = sc7.next();
                            if (panzi.equals("y") || panzi.equals("Y")) {
                                break;
                                /*
                                 * System.out.println(
                                 * "请输入0到6任意数字选择对应钱数:\n0.手动输入金额\n1.100元\n2.300元\n"
                                 * + "3.500元\n4.1000元\n5.3000元\n6.6000元");
                                 * Scanner sc8=new Scanner(System.in);
                                 * num=sc8.nextInt(); break;
                                 */
                            } else if (panzi.equals("n") || panzi.equals("N")) {
                                System.out.println("交易取消,请取卡");
                                break exe;
                            } else {
                                System.out.println("请输入正确指令");
                            }
                        } while (true);
                    }
                } while (true);

            }
        } while (true);

    }

}