Java实现用户管理系统

网友投稿 335 2022-08-24


Java实现用户管理系统

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

zktId 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 szktIdtatus = 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();

}

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python_可变类型和不可变数据类型(Python中不可变数据类型)
下一篇:python_公共运算符&赋值变量(Python基本运算符)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~