【带你做个小玩具】用Java搞一个简单的ATM机系统

需求

用Java开发一个可以正常运行的ATM机系统。
需要的功能包括【用户登录、存款、取款、查询余额,退出】操作。

代码

import java.util.Scanner;

public class ATMSystem {
    
    
    private static String[] usernames = {
    
    "user1", "user2", "user3"}; //用户账户名
    private static String[] passwords = {
    
    "123456", "654321", "111111"}; //用户密码
    private static double[] balances = {
    
    1000, 2000, 3000}; //用户账户初始余额
    private static Scanner scanner = new Scanner(System.in); //给一个交互入口

    public static void main(String[] args) {
    
    
        System.out.println("欢迎使用李汉卿ATM机");
        System.out.print("请输入账户名:");
        String username = scanner.nextLine();
        System.out.print("请输入密码:");
        String password = scanner.nextLine();

        // 用户登录校验
        int index = findUser(username, password);
        if (index == -1) {
    
    
            System.out.println("账户名或密码错误,无法登陆");
            return;
        }

        // 用户交互操作
        while (true) {
    
    
            System.out.println("请选择操作:");
            System.out.println("1. 查询余额");
            System.out.println("2. 取款");
            System.out.println("3. 存款");
            System.out.println("4. 退出");
            int choice = scanner.nextInt();

            switch (choice) {
    
    
                case 1:
                    queryBalance(index);
                    break;
                case 2:
                    withdraw(index);
                    break;
                case 3:
                    deposit(index);
                    break;
                case 4:
                    System.out.println("感谢使用李汉卿ATM机,您已成功退出登录");
                    return;
                default:
                    System.out.println("您输入的序号无效,请重新输入");
            }
        }
    }

    // 用户登录校验,验证账号密码是否一致
    private static int findUser(String username, String password) {
    
    
        for (int i = 0; i < usernames.length; i++) {
    
    
            if (usernames[i].equals(username) && passwords[i].equals(password)) {
    
    
                return i;
            }
        }
        return -1;
    }

    // 账户余额查询
    private static void queryBalance(int index) {
    
    
        System.out.println("账户余额为:" + balances[index]);
    }

    // 取款操作
    private static void withdraw(int index) {
    
    
        System.out.print("请输入取款金额:");
        double amount = scanner.nextDouble();
        if (amount > balances[index]) {
    
    
            System.out.println("余额不足,无法取款");
        } else {
    
    
            balances[index] -= amount;
            System.out.println("取款成功,账户余额为:" + balances[index]);
        }
    }

    // 存款操作
    private static void deposit(int index) {
    
    
        System.out.print("请输入存款金额:");
        double amount = scanner.nextDouble();
        balances[index] += amount;
        System.out.println("存款成功,账户余额为:" + balances[index]);
    }
}

好啦,代码写完,让我们来测试一下看看效果!

功能验证

用户登录

首先我们采用错误的账号密码尝试一下登录:
在这里插入图片描述
然后来试一下正确的账号密码:
在这里插入图片描述
成功登陆并且显示操作列表。

用户存款

原本有余额1000,存入5000:
在这里插入图片描述

用户取款

现有金额6000,取款2000.5:
在这里插入图片描述

用户查询当前余额

在这里插入图片描述

用户尝试取出超过余额数目的金额

在这里插入图片描述

用户退出登录

在这里插入图片描述
以上就是简易版ATM机的全部代码和验证结果啦,拿去玩玩吧~


软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
希望看我写的文字的人,可以少走弯路 祝工作学习顺利。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。

作者 | 綦枫
出品 | 汉卿工作室

猜你喜欢

转载自blog.csdn.net/qq_36396763/article/details/130186507