开发一个自动化软件系统,该系统将提供给这些办事处的管理者(role=1)和普通用户(role=0)用于管理信息。
根据以上描述,要求实现系统的用户模
块和办事处模块,包含以下功能:
用户模块:
- 用户添加
- 密码修改
- 个人信息查看
- 账号状态修改(禁用0、启用1)
- 用户登录(被禁用账号无法登录并提示友好的消息)
- 修改用户角色(设置取消管理员)
- 用户列表
- 查询指定办事处的员工
- 删除用户
办事处模块
- 办事处添加
- 办事处列表
参考类如下:
用户类(User):
账号(username),密码(passord),年龄(age),角色(role),邮
箱(email),办事处id(officeID),账户状态(status)
办事处类(Office):
办公室id,办公室名(officeName)
实现代码如下:
User类:
package com.peng.pengzhentest.office;
public class User {
private String username;
private String password;
private int age;
private int role;
private String email;
private Office officeID;
private int status;
public User() {
super();
}
public User(String username, String password, int age, int role, String email, Office officeID, int status) {
super();
this.username = username;
this.password = password;
this.age = age;
this.role = role;
this.email = email;
this.officeID = officeID;
this.status = status;
}
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 int getRole() {
return role;
}
public void setRole(int role) {
this.role = role;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Office getOfficeID() {
return officeID;
}
public void setOfficeID(Office officeID) {
this.officeID = officeID;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public void details() {
System.out.println("username=" + username + ", password=" + password + ", age=" + age + ", role=" + role + ", email="
+ email + ", officeID=" + officeID.getOfficeName() + ", status=" + status);
}
}
UserModule类:
package com.peng.pengzhentest.office;
import java.util.ArrayList;
import java.util.Scanner;
public class UserModule {
ArrayList<User> list = new ArrayList<>(100);
// 用户添加
public void userAdd(User u) {
list.add(u);
}
// 密码修改
public void alterPassWord(User u, String newpassword) {
if (u != null) {
u.setPassword(newpassword);
System.out.println("账号:" + u.getUsername() + "\t密码修改成功");
}
}
// 个人信息查看
public void showInfo(String username) {
for (User u : list) {
if (u != null && u.getUsername().equals(username)) {
u.details();
}
}
}
// 根据用户名进行账号状态修改
public void alterStatus(String username) {
for (User u : list) {
if (u != null && u.getUsername().equals(username)) {
if (u.getStatus() == 1) {
u.setStatus(0);
System.out.println(u.getUsername() + "状态已成功修改为" + u.getStatus());
break;
} else {
u.setStatus(1);
System.out.println(u.getUsername() +"状态已成功修改为" + u.getStatus());
break;
}
}
}
}
// 用户登录
public void enter() {
Scanner sc = new Scanner(System.in);
System.out.println("输入账号username:");
String uname = sc.nextLine();
System.out.println("输入密码password:");
String pword = sc.nextLine();
for (int i = 0; i < list.size(); i++) {
if (list.get(i) != null && list.get(i).getUsername().equals(uname)
&& list.get(i).getPassword().equals(pword) && list.get(i).getStatus() == 1) {
System.out.println("登录成功");
break;
}
if (i == list.size() - 1) {
System.out.println("密码或账号错误或账号已禁用!请重新登录");
}
}
}
// 根据用户名修改用户角色
public void alterRole(String username) {
for (User u : list) {
if (u != null && u.getUsername().equals(username)) {
if (u.getRole() == 1) {
u.setStatus(0);
System.out.println("取消管理员成功");
}
}
}
}
// 用户列表
public void showAll() {
for (User u : list) {
if (u != null) {
u.details();
}
}
}
// 查询指定办事处的员工
public void searchUserByOfficeId(Office officeID) {
for (User u : list) {
if (u != null && u.getOfficeID() == officeID) {
u.details();
}
}
}
// 删除用户
public void delUser(String username) {
for (User u : list) {
if (u != null && u.getUsername().equals(username)) {
u = null;
System.out.println("删除用户成功");
}
}
}
}
Office类:
package com.peng.pengzhentest.office;
public class Office {
private int id;
private String officeName;
public Office(int id, String officeName) {
super();
this.id = id;
this.officeName = officeName;
}
public Office() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOfficeName() {
return officeName;
}
public void setOfficeName(String officeName) {
this.officeName = officeName;
}
public void show() {
System.out.println("id:"+ id + ",officeName:" + officeName);
}
}
OfficeModule类:
package com.peng.pengzhentest.office;
import java.util.ArrayList;
public class OfficeModule {
ArrayList<Office> list = new ArrayList<>(20);
//办事处添加
public void officeAdd(Office of) {
list.add(of);
}
//办事处列表
public void showAll() {
for (Office of : list) {
if(of != null) {
of.show();
}
}
}
}
测试Test类:
package com.peng.pengzhentest.office;
public class Test {
public static void main(String[] args) {
UserModule um = new UserModule();
OfficeModule om = new OfficeModule();
Office office1 = new Office(1001, "上忍办公室");
Office office2 =new Office(1002,"暗部办公室");
Office office3 =new Office(1003,"拖油瓶办公室");
om.officeAdd(office1);
om.officeAdd(office2);
om.officeAdd(office3);
User user1 = new User("鸣人", "123123", 20, 1, "111@mr", office1, 1);
User user2 = new User("鼬", "456456", 26, 1, "787@you", office2, 0);
User user3 = new User("佐助", "123456", 20, 1, "323@zuoz", office2, 1);
User user4 = new User("水门", "666666", 40, 1, "12112@shui", office1, 1);
User user5 = new User("雏田", "321321", 19, 1, "1893@chut", office1, 0);
User user6 = new User("小樱", "654321", 19, 1, "1673@xy", office3, 1);
User user7 = new User("纲手", "696969", 58, 1, "134@da", office2, 0);
um.userAdd(user1);
um.userAdd(user2);
um.userAdd(user3);
um.userAdd(user4);
um.userAdd(user5);
um.userAdd(user6);
um.userAdd(user7);
om.showAll();
System.out.println("======================================");
um.showAll();
um.alterPassWord(user4, "789789");
um.enter();
um.showInfo("水门");
um.alterStatus("雏田");
um.showInfo("雏田");
}
}