Java基础练习之ATM机简单实现

版权声明: https://blog.csdn.net/IT_xiaochou/article/details/79956833

ATM机

1、ATM机
要求:
1)注册(两个):
用户名,密码,余额
在请输入用户名(英文),密码(数字,长度必须为6个长度),余额(double,必须大于10)。用一个数组装。
提示:注册成功。
否则失败。
2)登录,欢迎页面。
限制登录三次就被吃卡不能再次登录,提示还剩多少次登录机会(登录失败)
3)登录成功
1)查询余额
2)取款
3)转账
4)存钱
5)修改密码
6)退出

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        String[][] message = new String[2][4];
        String username = null;
        String password = null;
        String index = null;
        String userid = null;
        Scanner scanner = new Scanner(System.in);
        boolean flag1 = true;
        int regcount1 = 0;
        while (flag1) {
            System.out.println("----欢迎使用ATM服务----");
            System.out.println("----------1 登录-----------");
            System.out.println("----------2 注册-----------");
            System.out.println("----------3 退出-----------");
            System.out.println("----------------------------");
            index = scanner.next();
            if ("1".equals(index)) {
                boolean flag3 = true;
                int logincount = 3;
                System.out.println("-----登录-----");
                while (flag3) {
                    for (int x = 0; x < message.length; x++) {
                        if (!flag3) {
                            break;
                        }
                        for (int j = 1; j < message[x].length - 2; j++) {
                            System.out.println("请输入用户名");
                            if (scanner.next().equals(message[x][j])) {
                                System.out.println("请输入密码");
                                if (scanner.next().equals(message[x][j + 1])) {
                                    userid = message[x][0];
                                    // System.out.println(userid);
                                    System.out.println("登录成功");
                                    boolean flag4 = true;
                                    while (flag4) {
                                        System.out.println("----欢迎使用用户服务-----");
                                        System.out.println("----------1 查询余额------");
                                        System.out.println("----------2 取款-----------");
                                        System.out.println("----------3 转账-----------");
                                        System.out.println("----------4 存钱-----------");
                                        System.out.println("----------5 修改密码-------");
                                        System.out.println("----------6 退出-----------");
                                        System.out.println("----------------------------");
                                        index = scanner.next();
                                        if (index.matches("^[1-6]+$")) {
                                            switch (index) {
                                            case "1":
                                                System.out.println("您的余额为:" + message[Integer.parseInt(userid)][3]);
                                                break;
                                            case "2":
                                                System.out.println("请输入你要取款的金额");
                                                String getmoney = scanner.next();
                                                double savemoney = Double.parseDouble(message[Integer.parseInt(userid)][3]);
                                                if (getmoney.matches("^[0-9]+$")) {
                                                    if (Double.parseDouble(getmoney) <= Double.parseDouble(message[Integer.parseInt(userid)][3])) {
                                                        message[Integer.parseInt(userid)][3] = String.valueOf(savemoney - (Double.parseDouble(getmoney)));
                                                        System.out.println("取款成功");
                                                    } else {
                                                        System.out.println("您的余额不足");
                                                    }
                                                } else {
                                                    System.out.println("你输入的金额不合法");
                                                }
                                                break;
                                            case "3":
                                                System.out.println("请输入转账账号");
                                                String account = scanner.next();
                                                if (!message[Integer.parseInt(userid)][1].equals(account)) {
                                                    int count3 = 0;
                                                    for (int k = 0; k < 2 && k < message[k].length - 2; k++) {
                                                        if (account.equals(message[k][1]) && message[Integer.parseInt(userid)][1] != message[k][1]) {
                                                            System.out.println("请输入你要转入的金额");
                                                            double gomoney = Double.parseDouble(scanner.next());
                                                            message[k][3] = String.valueOf(Double.parseDouble(message[k][3]) + gomoney);
                                                            message[Integer.parseInt(userid)][3] = String.valueOf(Double.parseDouble(message[Integer.parseInt(userid)][3]) - gomoney);
                                                            System.out.println("转账成功");
                                                            count3++;
                                                        }
                                                    }
                                                    if (count3 == 0) {
                                                        System.out.println("没有这个账户");
                                                    }
                                                } else {
                                                    System.out.println("不能转账给自己,账号错误");
                                                }
                                                break;
                                            case "4":
                                                System.out.println("请输入你要存入的金额");
                                                String getmoney2 = scanner.next();
                                                double savemoney2 = Double.parseDouble(message[Integer.parseInt(userid)][3]);
                                                if (getmoney2.matches("^[0-9]+$")) {
                                                    if (Double.parseDouble(getmoney2) >= 10) {
                                                        message[Integer.parseInt(userid)][3] = String.valueOf(savemoney2 + (Double.parseDouble(getmoney2)));
                                                        System.out.println("存款成功");
                                                    } else {
                                                        System.out.println("存入金额至少10元");
                                                    }
                                                } else {
                                                    System.out.println("你输入的金额不合法");
                                                }
                                                break;
                                            case "5":
                                                System.out.println("请输入新密码");
                                                String newpassword = scanner.next();
                                                if (newpassword.matches("^[0-9]+$")) {
                                                    if (newpassword.length() >= 6) {
                                                        message[Integer.parseInt(userid)][2] = newpassword;
                                                        System.out.println("修改成功");
                                                    } else {
                                                        System.out.println("密码至少6位");
                                                    }
                                                } else {
                                                    System.out.println("你输入的密码必须是数字");
                                                }
                                                break;
                                            case "6":
                                                flag3 = false;
                                                flag4 = false;
                                                System.out.println("返回主页");
                                                break;
                                            default:
                                                flag3 = false;
                                                break;
                                            }
                                        } else {
                                            System.out.println("输入有误");
                                        }
                                    }
                                } else {
                                    System.out.println("登录失败,用户名或者密码错误 剩余登陆次数" + (logincount - 1));
                                }
                            } else {
                                System.out.println("用户错误");
                            }
                        }
                    }
                }
            } else if ("2".equals(index)) {
                System.out.println("----注册-----");
                int count2 = 0;
                boolean flag2 = true;
                while (flag2) {
                    if (regcount1 <= 1) {
                        System.out.println("请输入用户名 必须是英文");
                        username = scanner.next();
                        if (username != null && !username.isEmpty()) {
                            if (username.matches("^[A-Za-z]+$")) {
                                while (true) {
                                    System.out.println("请输入密码 必须是数字 6位长度");
                                    password = scanner.next();
                                    if (password != null && !password.isEmpty()) {
                                        if (password.matches("^[0-9]+$") && password.length() == 6) {
                                            message[regcount1][count2] = String.valueOf(regcount1);
                                            message[regcount1][count2 + 1] = username;
                                            message[regcount1][count2 + 2] = password;
                                            message[regcount1][count2 + 3] = String.valueOf(regcount1);
                                            regcount1++;
                                            System.out.println("注册成功");
                                            flag2 = false;
                                            break;
                                        } else {
                                            System.out.println("密码不符合要求,请重新输入");
                                        }
                                    } else {
                                        System.out.println("你没有输入任何内容,请重新输入");
                                    }
                                }
                            } else {
                                System.out.println("用户名不是英文,请重新输入");
                            }
                        } else {
                            System.out.println("你没有输入任何内容,请重新输入");
                        }
                    } else {
                        System.out.println("注册用户已满");
                        flag2 = false;
                        break;
                    }
                }
            } else if ("3".equals(index)) {
                System.out.println("退出成功");
                flag1 = false;
                scanner.close();
                break;
            } else {
                System.out.println("输入选项有误,请重新输入");
            }
        }
    }
}

Java基础练习,代码有问题的地方,欢迎评论指出。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页