使用Java面向对象实现员工管理系统,List集合作为存储数据库,用来存储用户信息和员工信息;该系统包括用户登录、员工信息列表、模糊查询、员工的新增、删除,具体要求 如下: 1、用户登录功能。在控制台登录界面,输入用户名和密码,然后和List集合里面存储的用户信息对象进行账号以及密码的匹配,如果信息匹配成功,则登录成功,否则重新登录;进行员工信息登录。
时间: 2024-02-18 08:03:10 浏览: 124
JAVA做员工管理系统
4星 · 用户满意度95%
下面是一个简单的员工管理系统的Java代码示例,包含了登录、员工信息列表、模糊查询、员工的新增和删除功能:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class EmployeeManagementSystem {
private static List<User> userList = new ArrayList<>();
private static List<Employee> employeeList = new ArrayList<>();
public static void main(String[] args) {
// 初始化用户列表
initUserList();
// 初始化员工列表
initEmployeeList();
Scanner scanner = new Scanner(System.in);
boolean loginFlag = false;
User currentUser = null;
while (!loginFlag) {
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
// 遍历用户列表,查找匹配的用户
for (User user : userList) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
loginFlag = true;
currentUser = user;
break;
}
}
if (!loginFlag) {
System.out.println("用户名或密码错误,请重新输入!");
}
}
System.out.println("登录成功,欢迎 " + currentUser.getUsername() + " 使用员工管理系统!");
// 显示员工信息列表
showEmployeeList();
boolean exitFlag = false;
while (!exitFlag) {
System.out.println("请输入要执行的操作(1-员工信息列表 2-模糊查询 3-新增员工 4-删除员工 5-退出):");
String input = scanner.nextLine();
switch (input) {
case "1":
// 显示员工信息列表
showEmployeeList();
break;
case "2":
// 模糊查询
System.out.println("请输入查询关键字:");
String keyword = scanner.nextLine();
List<Employee> result = searchEmployee(keyword);
if (result.isEmpty()) {
System.out.println("未找到匹配的员工!");
} else {
System.out.println("查询结果如下:");
for (Employee employee : result) {
System.out.println(employee);
}
}
break;
case "3":
// 新增员工
System.out.println("请输入员工姓名:");
String name = scanner.nextLine();
System.out.println("请输入员工性别:");
String gender = scanner.nextLine();
System.out.println("请输入员工年龄:");
int age = Integer.parseInt(scanner.nextLine());
System.out.println("请输入员工职位:");
String position = scanner.nextLine();
Employee newEmployee = new Employee(name, gender, age, position);
employeeList.add(newEmployee);
System.out.println("新增员工成功!");
break;
case "4":
// 删除员工
System.out.println("请输入要删除的员工ID:");
int id = Integer.parseInt(scanner.nextLine());
for (Employee employee : employeeList) {
if (employee.getId() == id) {
employeeList.remove(employee);
System.out.println("删除成功!");
break;
}
}
break;
case "5":
// 退出
exitFlag = true;
break;
default:
System.out.println("无效的操作,请重新输入!");
break;
}
}
System.out.println("感谢使用员工管理系统,再见!");
}
// 初始化用户列表
private static void initUserList() {
userList.add(new User("admin", "123456"));
userList.add(new User("user1", "123456"));
userList.add(new User("user2", "123456"));
}
// 初始化员工列表
private static void initEmployeeList() {
employeeList.add(new Employee("张三", "男", 25, "程序员"));
employeeList.add(new Employee("李四", "女", 30, "设计师"));
employeeList.add(new Employee("王五", "男", 28, "测试工程师"));
}
// 显示员工信息列表
private static void showEmployeeList() {
System.out.println("员工信息列表如下:");
System.out.println("ID\t姓名\t性别\t年龄\t职位");
for (Employee employee : employeeList) {
System.out.println(employee.getId() + "\t" + employee.getName() + "\t" + employee.getGender() + "\t" + employee.getAge() + "\t" + employee.getPosition());
}
}
// 模糊查询
private static List<Employee> searchEmployee(String keyword) {
List<Employee> result = new ArrayList<>();
for (Employee employee : employeeList) {
if (employee.getName().contains(keyword) || employee.getPosition().contains(keyword)) {
result.add(employee);
}
}
return result;
}
}
class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
class Employee {
private static int count = 1;
private int id;
private String name;
private String gender;
private int age;
private String position;
public Employee(String name, String gender, int age, String position) {
this.id = count++;
this.name = name;
this.gender = gender;
this.age = age;
this.position = position;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public String getPosition() {
return position;
}
@Override
public String toString() {
return id + "\t" + name + "\t" + gender + "\t" + age + "\t" + position;
}
}
```
上面的代码中,User类表示系统用户,包含用户名和密码两个属性;Employee类表示员工信息,包含ID、姓名、性别、年龄和职位五个属性。在程序的main方法中,首先通过initUserList()和initEmployeeList()方法初始化用户列表和员工列表;然后通过Scanner类实现用户登录功能,登录成功后进入主菜单,用户可以选择查询员工信息列表、模糊查询、新增员工或删除员工。程序中使用了List集合来存储员工信息,员工的ID是通过一个静态变量count自增实现的。
阅读全文