基于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