基于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();
}
技术含量不高的完成了一个有用户登录,对用户信息进行增删改查功能的系统
来源:https://blog.csdn.net/qq_36298311/article/details/97621532