java
主页 > 软件编程 > java >

Java实现用户管理系统

2022-02-28 | 秩名 | 点击:

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

    }

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

原文链接:https://blog.csdn.net/qq_36298311/article/details/97621532
相关文章
最新更新