广告位联系
返回顶部
分享到

Java实现用户管理系统

java 来源:互联网 作者:秩名 发布时间:2022-02-28 14:36:13 人浏览
摘要

基于Java的简单的用户管理系统,供大家参考,具体内容如下 此系统功能和方法都比较简单 本次系统通过控制台输入商品的基本信息,加入管理员的登录与对是否为管理员进行操作 对于

基于Java的简单的用户管理系统,供大家参考,具体内容如下

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

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

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

用户基本属性类

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

1

2

3

4

5

6

7

8

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方法与构造器

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

@Override

public 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方法来使用控制台输入功能,结合方法来输入对应的信息

1

2

3

4

static int i = 0;

    String[] admin = { "admin", "admin123" };

    static ArrayList<User> list = new ArrayList<>();

    private Scanner sc = new Scanner(System.in);

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

/**1-用户添加*/

    public void add(User u) {

        list.add(u);

    }

     

    /** 2-密码修改(根据Id修改密码) */

    public boolean modifypassword(int id, String password) {

        User user = findById(id);

        if (user != null) {

            user.setPassword(password);

            return true;

        }

 

        return false;

    }

    /** 3-根据ID查看个人信息 */

    public User findById(int id) {

        User us = null;

        for (User u : list) {

            if (u.getId() == id) {

                us = u;

                break;

            }

        }

        return us;

    }

    /** 4-根据ID修改账号状态(禁用0、启用1)*/

    public boolean modifystatus(int id, String status) {

        User user = findById(id);

        if (user != null) {

            user.setStatus(status);

            return true;

        }

 

        return false;

    }

    /** 5-用户登录*/

    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();

        }

    }

    /** 6-修改用户角色(设置取消管理员) */

    public boolean modifyrole(int id, String role) {

        User user = findById(id);

        if (user != null) {

            user.setRole(role);

            return true;

        }

        return false;

    }

    /** 7-用户列表*/

    public ArrayList<User> findAll() {

        return list;

    }

    /** 8-删除用户*/

    public boolean delete(int id) {

        User user = findById(id);

        if (user != null) {

            return list.remove(user);

        }

        return false;

    }

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

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

输入窗口的指令界面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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完成程序按键的入口

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

 /** 程序按键入口 */

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();

    }

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

1

2

3

4

 /** 能够兼容输入的属性 */

    public void msg(Object obj) {

        System.out.println(obj);

    }

Java技术迷

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

/** 1-用户添加的客户端实现 */

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修改其密码,简单的判断语句对密码信息确认与修改

1

2

3

4

5

6

7

8

9

10

11

12

13

/** 2-根据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来查看用户的个人信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/** 3-个人信息查看 */

    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后对其状态(是否禁用)进行修改

1

2

3

4

5

6

7

8

9

10

11

12

13

/** 4-账号状态修改(禁用0、启用1)*/

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("修改失败!");

        }

    }

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

1

2

3

4

5

/** 5-用户登录*/

    private void enter(){

        UserModule um = new UserModule();

        um.register();

    }

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

1

2

3

4

5

6

7

8

9

10

11

12

13

 /** 6-修改用户角色*/

 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("修改失败!");

        }

    }

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

1

2

3

4

5

6

7

/** 7-用户列表*/

    private void list() {

        msg("Id\t账号\t密码\t\t年龄\t角色\t邮箱\t\t办事处\t账户状态\t");

        for (User u : um.findAll()) {

            msg(u);

        }

    }

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

1

2

3

4

5

6

7

8

9

10

11

/** 8-根据ID删除用户*/

private void delete() {

        sc = new Scanner(System.in);

        msg("请输入用户ID:");

        int id = sc.nextInt();

        if (um.delete(id)) {

            msg("删除成功!");

        } else {

            msg("删除失败!");

        }

    }

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

1

2

3

4

5

6

7

8

9

10

/** 0-体统退出 */

private void exit() {

        sc = new Scanner(System.in);

        msg("是否确定退出?(Y/N)");

        String op = sc.next();

        if (op.equalsIgnoreCase("Y")) {

            msg("谢谢使用,再见!");

            System.exit(1);

        }

    }

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

1

2

3

4

5

public static void main(String[] args) {

        TestUser tu = new TestUser();

        tu.enter();

        tu.menu();

    }

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/qq_36298311/article/details/97621532
相关文章
  • SpringBoot自定义错误处理逻辑介绍

    SpringBoot自定义错误处理逻辑介绍
    1. 自定义错误页面 将自定义错误页面放在 templates 的 error 文件夹下,SpringBoot 精确匹配错误信息,使用 4xx.html 或者 5xx.html 页面可以打印错误
  • Java实现手写一个线程池的代码

    Java实现手写一个线程池的代码
    线程池技术想必大家都不陌生把,相信在平时的工作中没有少用,而且这也是面试频率非常高的一个知识点,那么大家知道它的实现原理和
  • Java实现断点续传功能的代码

    Java实现断点续传功能的代码
    题目实现:网络资源的断点续传功能。 二、解题思路 获取要下载的资源网址 显示网络资源的大小 上次读取到的字节位置以及未读取的字节
  • 你可知HashMap为什么是线程不安全的
    HashMap 的线程不安全 HashMap 的线程不安全主要体现在下面两个方面 在 jdk 1.7 中,当并发执行扩容操作时会造成环形链和数据丢失的情况 在
  • ArrayList的动态扩容机制的介绍

    ArrayList的动态扩容机制的介绍
    对于 ArrayList 的动态扩容机制想必大家都听说过,之前的文章中也谈到过,不过由于时间久远,早已忘却。 所以利用这篇文章做做笔记,加
  • JVM基础之字节码的增强技术介绍

    JVM基础之字节码的增强技术介绍
    字节码增强技术 在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字
  • Java中的字节码增强技术

    Java中的字节码增强技术
    1.字节码增强技术 字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术。 参考地址 2.常见技术 技术分类 类
  • Redis BloomFilter布隆过滤器原理与实现

    Redis BloomFilter布隆过滤器原理与实现
    Bloom Filter 概念 布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射
  • Java C++算法题解leetcode801使序列递增的最小交换次

    Java C++算法题解leetcode801使序列递增的最小交换次
    题目要求 思路:状态机DP 实现一:状态机 Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Solution { public int minSwap(int[] nums1, int[] nums2) { int n
  • Mybatis结果集映射与生命周期介绍

    Mybatis结果集映射与生命周期介绍
    一、ResultMap结果集映射 1、设计思想 对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了 2、resultMap的应用场
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计