Java-IO流案例小练习

这是一个基于Java IO流的用户管理系统实现,包括主页面显示、登录注册、用户删除和信息修改等功能。用户和管理员类包含相关属性和方法,如账号验证、信息加载和存储。案例难度中上,涉及文件读写、数据验证和用户交互。
摘要由CSDN通过智能技术生成

 

 主页面显示类

这段代码是一个简单的用户管理系统的主程序。

代码使用一个while循环来保持程序的运行,直到用户选择退出。

在每次循环中,代码会显示一个主页面,并等待用户输入选择的操作。

根据用户的选择,代码会执行相应的操作。例如,如果用户选择1,代码会调用Login方法显示登录页面;如果用户选择2,代码会调用Register方法显示注册页面;如果用户选择3,代码会调用DeleteUser方法删除用户。

如果用户选择0,代码会打印"程序已结束..."并将flag设置为false,从而退出循环,结束程序。

请注意,这里假设你已经定义了Login、Register和DeleteUser方法,并且已经导入了相关的类和方法。

 //静态全局获取键盘输入对象
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        boolean flag = true;
        while (flag) {
            Main();//主页面显示
            int Ops = sc.nextInt();
            switch (Ops) {
                case 0:
                    System.out.println("程序已结束...");
                    flag = false;
                    break;
                case 1:
                    Login();//登录页
                    break;
                case 2:
                    Register();//注册页
                    break;
                case 3://删除用户
                    DeleteUser();
                    break;
                default:
                    System.out.println("此功能还未开发,敬请期待...");
            }
        }
    }

 

这段代码是一个方法,用于显示用户管理系统的主页面。

代码会打印一个欢迎信息,并显示可供选择的操作。例如,登录、注册、删除和退出。

用户可以根据提示输入相应的数字来选择操作。 

请注意,这里假设你已经定义了相应的方法,并且已经导入了相关的类和方法。

  /**
     * 首页显示
     */
    public static void Main() {
        System.out.println("-------------------欢迎来到ATM管理系统-------------------");
        System.out.print("1.登录\t\t\t\t\t\t\t\t\t\t\t");
        System.out.println("2.注册");
        System.out.println();
        System.out.print("3.删除\t\t\t\t\t\t\t\t\t\t\t");
        System.out.println("0.退出");
        System.out.print("请输入:");
    }

 

这段代码是一个方法,用于显示登录页面。

代码会提示用户输入账号和密码,并进行相应的验证。

首先,代码会要求用户输入账号,然后使用正则表达式验证账号是否符合要求。账号只能包含5位以内的中文字符。

接下来,代码会提示用户输入密码,并使用正则表达式验证密码是否符合要求。密码必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

如果账号和密码验证通过,代码会创建一个Manager对象,并调用ManagerUtils类的Login方法进行登录验证。

如果登录成功,代码会打印"登录成功...",并调用Os方法打印操作页面菜单。

如果登录失败,代码会打印"登录异常,请检查账户或密码是否正确..."。

请注意,这里假设你已经定义了Manager和ManagerUtils类,并且已经导入了相关的类和方法。

  /**
     * 登录显示
     */
    public static void Login() {
        System.out.print("请输入账号:");
        String username = sc.next();
        String str = "^[\\u4e00-\\u9fa5]{0,5}$";
        boolean flag = true;
        while (flag) {
            if (username.matches(str) == false) {
                System.out.print("账户仅为5位以内中文,请重试:");
                username = sc.next();
            } else {
                flag = false;
            }
        }
        System.out.println("密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。");
        System.out.print("请输入密码:");
        String password = sc.next();
        String regex = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";
        while (flag == false) {
            if (password.matches(regex) == false) {
                System.out.print("请重新输入:");
                password = sc.next();
            } else {
                flag = true;
            }
        }
        Manager manager = new Manager(username, password);
        boolean login = ManagerUtils.Login(manager);
        if (login) {
            System.out.println("登陆成功...");
            //打印操作页面菜单
            Os(manager);
        } else {
            System.out.println("登陆异常,请检查账户或密码是否正确...");
        }
    }

 

这段代码是一个方法,用于显示注册页面。

代码会提示用户输入账号和密码,并进行相应的验证。

首先,代码会要求用户输入账号,然后使用正则表达式验证账号是否符合要求。账号只能包含5位以内的中文字符。

接下来,代码会判断账号是否已经存在,如果存在则要求用户重新输入。

然后,代码会提示用户输入密码,并使用正则表达式验证密码是否符合要求。密码必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。

如果账号和密码验证通过,代码会创建一个Manager对象,并调用ManagerUtils类的Register方法进行注册。

如果注册成功,代码会打印"恭喜您,注册成功..."。

如果注册失败,代码会打印"对不起注册异常,请稍后重试~"。

请注意,这里假设你已经定义了Manager和ManagerUtils类,并且已经导入了相关的类和方法。

    /**
     * 注册显示
     */
    public static void Register() {
        System.out.print("账号:");
        String username = sc.next();
        String str = "^[\\u4e00-\\u9fa5]{0,5}$";
        boolean flag = true;
        while (flag) {
            if (username.matches(str) == false) {
                System.out.print("账户仅为中文,请重试:");
                username = sc.next();
            } else {
                flag = false;
            }
        }

        boolean user = ManagerUtils.isUser(username);
        while (user) {
            System.out.print("不好意识,你输入的账号已存在,请重新输入:");
            username = sc.next();
            user = ManagerUtils.isUser(username);
        }

        System.out.println("密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。");
        System.out.print("密码:");
        String password = sc.next();
        String regex = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";
        while (flag == false) {//反着判断,如果flag等于false说明输入不正确,要求重新输入
            if (password.matches(regex) == false) {
                System.out.print("请重新输入:");
                password = sc.next();
            } else {
                flag = true;
            }

        }
        Manager manager = new Manager(username, password);
        boolean register = ManagerUtils.Register(manager);
        if (register) {
            System.out.println("恭喜您,注册成功...");
        } else {
            System.out.print("对不起注册异常,请稍后重试~");
        }
    }

 

这段代码是一个方法,用于删除用户。

代码会提示用户输入要删除的用户名,并进行相应的验证。

首先,代码会要求用户输入要删除的用户名。

接下来,代码会判断用户名是否存在,如果不存在则要求用户重新输入。

然后,代码会提示用户确认是否删除该用户,用户需要输入"是"或"否"来确认。

如果用户输入"是",代码会调用ManagerUtils类的DeleteUser方法进行删除操作。如果删除成功,代码会打印"管理员账户: [用户名] 已成功删除...";如果删除失败,代码会打印"删除失败,请重试~"。

如果用户输入"否",代码会结束删除操作。

请注意,这里假设你已经定义了ManagerUtils类,并且已经导入了相关的类和方法。另外,代码中的注释部分是一些备用代码,可以根据需要进行调整。

    /**
     * 删除管理用户
     */
    public static void DeleteUser() {
        System.out.print("请输入要删除的用户:");
        String username = sc.next();
        boolean user = ManagerUtils.isUser(username);
        while (user == false) {
            System.out.println("不好意识,你输入的账号不存在,请重新输入:");
            //username = sc.next();
            return;
            // user = ManagerUtils.isUser(username);
        }
        System.out.print("是否确定删除(是/否):");
        String deleteUser = sc.next();
        boolean flag = true;
        while (true) {
            if (deleteUser.equals("是")) {
                boolean b = ManagerUtils.DeleteUser(username);
                if (b) {
                    System.out.println("管理员账户:" + username + "已成功删除...");
                    break;
                } else {
                    System.out.println("删除失败,请重试~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值