文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java怎么实现用户管理系统

2023-06-29 07:50

关注

这篇文章给大家分享的是有关Java怎么实现用户管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

此系统功能和方法都比较简单

本次系统通过控制台输入商品的基本信息,加入管理员的登录与对是否为管理员进行操作

对于功能的实现,分别定义了3个类

用户基本属性类

此类包含用户id、账号、密码、年龄、角色(是否为管理员)、邮箱、办事处、账户状态

private int id;// id号private String username;// 账号private String password;// 密码private int age;// 年龄private String role;// 角色private String email;// 邮箱private String officeID;// 办事处private String status;// 账户状态

通过快捷键方法快速生成其属性get/set方法与构造器

@Overridepublic String toString() {        return id + "\t" + username + "\t" + password + "\t" + age + "\t" + role + "\t" + email + "\t" + officeID + "\t"                + status;    }public User(int id, String username, String password, int age, String role, String email, String officeID,            String status) {        super();        this.id = id;        this.username = username;        this.password = password;        this.age = age;        this.role = role;        this.email = email;        this.officeID = officeID;        this.status = status;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getRole() {        return role;    }    public void setRole(String role) {        this.role = role;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getOfficeID() {        return officeID;    }    public void setOfficeID(String officeID) {        this.officeID = officeID;    }    public String getStatus() {        return status;    }    public void setStatus(String status) {        this.status = status;    }

完成对用户属性的定义

在新类中对用户属性进行修饰和功能的实现

通过ArrayList动态数组能够对数组的基本信息进行存储

Scanner方法来使用控制台输入功能,结合方法来输入对应的信息

static int i = 0;    String[] admin = { "admin", "admin123" };    static ArrayList<User> list = new ArrayList<>();    private Scanner sc = new Scanner(System.in);

用简单的if/else语句和for循环结合来实现增删改查功能
用户的增添与密码的修改实习了控制台输入与修改信息的能力

    public void add(User u) {        list.add(u);    }            public boolean modifypassword(int id, String password) {        User user = findById(id);        if (user != null) {            user.setPassword(password);            return true;        }        return false;    }        public User findById(int id) {        User us = null;        for (User u : list) {            if (u.getId() == id) {                us = u;                break;            }        }        return us;    }        public boolean modifystatus(int id, String status) {        User user = findById(id);        if (user != null) {            user.setStatus(status);            return true;        }        return false;    }        public void register() {        System.out.println("请输入用户名:");        if (sc.next().equals(admin[0])) {            System.out.println("请输入密码:");            if (sc.next().equals(admin[1])) {                System.out.println("登录成功!");            } else {                System.out.println("密码错误!请重新输入!");                register();            }        } else {            System.out.println("用户名错误!请重新输入!");            register();        }    }        public boolean modifyrole(int id, String role) {        User user = findById(id);        if (user != null) {            user.setRole(role);            return true;        }        return false;    }        public ArrayList<User> findAll() {        return list;    }        public boolean delete(int id) {        User user = findById(id);        if (user != null) {            return list.remove(user);        }        return false;    }

由此就通过方法对一些必要的功能进行了完成
再通过另一个主窗口类对其他类进行功能的调用与界面信息的完成

创建main程序入口类,并且在类中完成输入界面与指令

输入窗口的指令界面

private UserModule um = new UserModule();private Scanner sc = new Scanner(System.in);        public void menu() {        msg("=====================================");        msg("======SOFTEEM用户管理系统================");        msg("======【1】用户添加======================");        msg("======【2】密码修改======================");        msg("======【3】个人信息查看===================");        msg("======【4】账号状态修改(禁用0、启用1)========");        msg("======【5】用户登录=======================");        msg("======【6】修改用户角色(设置取消管理员)=======");        msg("======【7】用户列表======================");        msg("======【8】删除用户======================");        msg("======【0】退出系统======================");        msg("请输入操作指令: ");        start();    }

通过基础语句switch完成程序按键的入口

 private void start() {        sc = new Scanner(System.in);        int i = sc.nextInt();        switch (i) {        case 1:            add();            break;        case 2:             alter();            break;        case 3:            queryById();            break;        case 4:            thestatus();            break;        case 5:            enter();            break;        case 6:            update();            break;        case 7:            list();            break;        case 8:daima            delete();            break;        case 0:            exit();            break;        default:            msg("请输入正确的操作指令!!!");            break;        }        menu();    }

此方法能够处理经常使用输出窗口的代码麻烦,直接调用此内部方法实现输出语句,更简洁的完成输出语句

     public void msg(Object obj) {        System.out.println(obj);    }

结合上一个类中的方法完成对用户的添加功能,后续的功能与此功能一样,再switch语句中有输入窗口能够调用此类方法

private void add() {        msg("请输入用户信息:((按以下格式:Id/账号/密码/年龄/角色/邮箱/办事处/账户状态))");        sc = new Scanner(System.in);        String s = sc.nextLine();        // 根据"/"截取用户信息        String[] info = s.split("/");        if (um.findById(Integer.parseInt(info[0])) != null) {            msg("该ID用户已存在,请重新输入");            add();            return;        } else {            User u = new User(Integer.parseInt(info[0]), info[1], info[2], Integer.parseInt(info[3]), info[4], info[5],                    info[6], info[7]);            um.add(u);            msg("添加成功!");        }    }

根据用户ID修改其密码,简单的判断语句对密码信息确认与修改

private void alter() {        sc = new Scanner(System.in);        msg("请输入用户的ID:");        int id = sc.nextInt();        msg("密码修改为:");        String passwor = sc.next();        if (um.modifypassword(id, passwor)) {            msg("修改成功!");        } else {            msg("修改失败!");        }    }

通过ID来查看用户的个人信息

    private void queryById() {        sc = new Scanner(System.in);        msg("请输入需要查询的用户ID");        int id = sc.nextInt();        User u = um.findById(id);        if (u == null) {            msg(id + "号不存在,请重新输入");            queryById();            return;        }        msg("Id\t账号\t密码\t\t年龄\t角色\t邮箱\t\t办事处\t账户状态\t");        msg(u);    }

输入用户ID后对其状态(是否禁用)进行修改

private void thestatus() {        sc = new Scanner(System.in);        msg("请输入用户ID:");        int id = sc.nextInt();        msg("账号状态修改(0/1):");        String status = sc.next();        if (um.modifystatus(id, status)) {            msg("修改成功!");        } else {            msg("修改失败!");        }    }

结合之前定义的用户信息,实现简单的用户登录功能

    private void enter(){        UserModule um = new UserModule();        um.register();    }

修改用户角色(是否为管理员),给其权限

  private void update() {        sc = new Scanner(System.in);        msg("请输入用户ID:");        int id = sc.nextInt();        msg("角色修改(是否为管理员):");        String role = sc.next();        if (um.modifyrole(id, role)) {            msg("修改成功!");        } else {            msg("修改失败!");        }    }

将已存入的用户信息列表化输出

    private void list() {        msg("Id\t账号\t密码\t\t年龄\t角色\t邮箱\t\t办事处\t账户状态\t");        for (User u : um.findAll()) {            msg(u);        }    }

删除功能,根据ID删除存入数组的用户信息

private void delete() {        sc = new Scanner(System.in);        msg("请输入用户ID:");        int id = sc.nextInt();        if (um.delete(id)) {            msg("删除成功!");        } else {            msg("删除失败!");        }    }

外加一个简单的退出系统的功能,不用鼠标关闭Console窗口

private void exit() {        sc = new Scanner(System.in);        msg("是否确定退出?(Y/N)");        String op = sc.next();        if (op.equalsIgnoreCase("Y")) {            msg("谢谢使用,再见!");            System.exit(1);        }    }

此类的程序执行入口,调用系统用户登录方法和主窗口方法,调用的方法中再实现所有功能

public static void main(String[] args) {        TestUser tu = new TestUser();        tu.enter();        tu.menu();    }

技术含量不高的完成了一个有用户登录,对用户信息进行增删改查功能的系统

感谢各位的阅读!关于“Java怎么实现用户管理系统”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯