Java编写的模拟ATM取款机程序

对象说明:
功能:该程序的功能为实现模拟银行ATM自动取款机取款,存款,查询余额,转账等功能,只是完成了基本的功能。

思路:第一、登录判断,密码限制三次,使用for循环。第二、成功登录,选择相应的功能,使用switch语句。第四、实现功能的反复循环操作,因为次数不确定,使用while结构。第五、对每个功能模块进行填充完善。

代码展示:

import java.util.Scanner;

public class BankATM {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        String cardNum = "6228123123"; // 卡号
        int pwd = 888888; // 密码
        boolean flag = true; // 声明布尔类型变量
        double surplus = 1000;// 余额

        // 界面
        System.out.println("---------欢迎使用工商银行ATM机---------");

        /** 用于进行登录的次数限制止 **/
        for (int i = 1; i <= 3; i++) {
            System.out.println("请插入您的银行卡:");
            String inputCard = input.next();
            System.out.println("请输入您的密码:");
            int inputPwd = input.nextInt();

            // 验证账号和密码
            if (inputCard.equals(cardNum) && inputPwd == pwd) {
                flag = true;
                break;
            } else {
                if (i <= 2) {
                    System.out.println("对不起,密码输入不正确,你还有" + (3 - i) + "次机会!");
                } else {
                    System.out.println("对不起,您的卡已被锁定!");
                    break;
                }
                flag = false;
            }
        }

        /** 登录成功后选择功能 */
        if (flag) {
            char answer = 'y';
            while (answer == 'y') {
                System.out.println("请选择功能:1.取款    2.存款    3.查询余额    4.转账   5.退出");
                int choice = input.nextInt();
                switch (choice) {
                case 1:
                    // 执行取款操作
                    System.out.println("--->取款");
                    System.out.println("请输入取款金额:");
                    double getMoney = input.nextDouble();
                    if (getMoney > 0) {
                        if (getMoney <= surplus) {
                            if (getMoney % 100 == 0) {
                                System.out.println("请取走您的钞票!余额为¥" + (surplus - getMoney));
                            } else {
                                System.out.println("对不起,不能取零钱!");
                            }
                        } else {
                            System.out.println("对不起,余额不足!");
                        }
                    } else {
                        System.out.println("请输入正确的金额:");
                    }

                    break;
                case 2:
                    // 执行存款操作
                    System.out.println("--->存款");
                    System.out.println("请把钞票整理后放入存钞口:");
                    double saveMoney = input.nextDouble();
                    if (saveMoney > 0 && saveMoney <= 10000) {
                        if (saveMoney % 100 == 0) {
                            surplus += saveMoney;
                            System.out.println("存款成功!余额为¥" + surplus);
                        } else {

                            double backMoney = saveMoney % 100;
                            surplus = saveMoney + surplus - backMoney;
                            System.out.println("存款成功!余额为¥" + surplus);
                            System.out.println("请取走零钱¥" + backMoney);
                        }
                    } else if (saveMoney > 10000) {
                        System.out.println("一次最多存入一万元,请分批存入!");
                    } else {
                        System.out.println("存入的钞票是假钞,无效没收!");
                    }
                    break;
                case 3:
                    // 执行查询余额
                    System.out.println("--->查询余额");
                    System.out.println("您卡上的余额是:" + surplus);
                    break;
                case 4:
                    // 执行转账操作
                    System.out.println("--->转账");
                    System.out.println("请输入转账金额:");
                    double goMoney = input.nextDouble(); // 转账金额
                    if (goMoney > 0) {
                        if (goMoney <= surplus) {
                            System.out.println("转账成功!余额为¥" + (surplus - goMoney));
                        } else {
                            System.out.println("对不起,请确保卡上有足够的余额!");
                        }

                    } else {
                        System.out.println("转账失败!请输入正确的金额:");
                    }
                    break;
                case 5:
                    // 执行退出操作
                    // System.out.println("--->退出");
                    System.out.println("谢谢您的使用!");
                    return;
                default:
                    System.out.println("对不起,您选择的功能有误!");
                    break;
                }// switch end
                System.out.println("继续吗?y/n");
                answer = input.next().charAt(0);

            } // while end
            System.out.println("谢谢您的使用!");

        }

    }
}

效果截图:
Java编写的模拟ATM取款机程序_第1张图片

Java编写的模拟ATM取款机程序_第2张图片

Java编写的模拟ATM取款机程序_第3张图片

Java编写的模拟ATM取款机程序_第4张图片

你可能感兴趣的:(JAVASE,JAVA基础)