Java实现用户管理系统
作者:Tryci
基于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方法与构造器
@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方法来使用控制台输入功能,结合方法来输入对应的信息
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-用户添加*/ 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程序入口类,并且在类中完成输入界面与指令
输入窗口的指令界面
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语句中有输入窗口能够调用此类方法
/** 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修改其密码,简单的判断语句对密码信息确认与修改
/** 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来查看用户的个人信息
/** 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后对其状态(是否禁用)进行修改
/** 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("修改失败!"); } }
结合之前定义的用户信息,实现简单的用户登录功能
/** 5-用户登录*/ private void enter(){ UserModule um = new UserModule(); um.register(); }
修改用户角色(是否为管理员),给其权限
/** 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("修改失败!"); } }
将已存入的用户信息列表化输出
/** 7-用户列表*/ private void list() { msg("Id\t账号\t密码\t\t年龄\t角色\t邮箱\t\t办事处\t账户状态\t"); for (User u : um.findAll()) { msg(u); } }
删除功能,根据ID删除存入数组的用户信息
/** 8-根据ID删除用户*/ private void delete() { sc = new Scanner(System.in); msg("请输入用户ID:"); int id = sc.nextInt(); if (um.delete(id)) { msg("删除成功!"); } else { msg("删除失败!"); } }
外加一个简单的退出系统的功能,不用鼠标关闭Console窗口
/** 0-体统退出 */ 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(); }
技术含量不高的完成了一个有用户登录,对用户信息进行增删改查功能的系统
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。