好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

     }

结合上一个类中的方法完成对用户的添加功能,后续的功能与此功能一样,再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

查看更多关于Java实现用户管理系统的详细内容...

  阅读:26次