编写java程序:创建有员工类,包括姓名、工号、性别、出生年月、家庭地址等。本系统能够按姓名或工号查找员工,并显示相关员工情况。包括:主控程序、员工档案管理子系统、员工类等。 其他要求: (1)实用,各模块自成系统 (2)完成最低要求:建立一个文件,包括同一个专业10个员工的必要信息,能对文件进行补充、修订、删除,并能进行查找。
时间: 2023-07-10 21:28:15 浏览: 40
好的,这是一个简单的员工管理系统,以下是我给出的Java代码:
Employee.java
```
public class Employee {
private String name;
private String id;
private String gender;
private String birth;
private String address;
public Employee(String name, String id, String gender, String birth, String address) {
this.name = name;
this.id = id;
this.gender = gender;
this.birth = birth;
this.address = address;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getGender() {
return gender;
}
public String getBirth() {
return birth;
}
public String getAddress() {
return address;
}
@Override
public String toString() {
return "Name: " + name + " ID: " + id + " Gender: " + gender + " Birth: " + birth + " Address: " + address;
}
}
```
EmployeeManagementSystem.java
```
import java.io.*;
import java.util.*;
public class EmployeeManagementSystem {
private static final String FILE_NAME = "employees.txt";
private List<Employee> employees = new ArrayList<>();
public static void main(String[] args) {
EmployeeManagementSystem system = new EmployeeManagementSystem();
system.loadEmployees();
Scanner scanner = new Scanner(System.in);
boolean running = true;
while (running) {
System.out.println("1. Add employee");
System.out.println("2. Search employee by name");
System.out.println("3. Search employee by id");
System.out.println("4. Delete employee");
System.out.println("5. Print all employees");
System.out.println("6. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
system.addEmployee(scanner);
break;
case 2:
system.searchEmployeeByName(scanner);
break;
case 3:
system.searchEmployeeById(scanner);
break;
case 4:
system.deleteEmployee(scanner);
break;
case 5:
system.printAllEmployees();
break;
case 6:
running = false;
break;
default:
System.out.println("Invalid choice!");
}
}
system.saveEmployees();
}
private void loadEmployees() {
try (BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
employees.add(new Employee(parts[0], parts[1], parts[2], parts[3], parts[4]));
}
System.out.println("Loaded " + employees.size() + " employees.");
} catch (IOException e) {
System.out.println("Failed to load employees from file: " + e.getMessage());
}
}
private void saveEmployees() {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(FILE_NAME))) {
for (Employee employee : employees) {
writer.write(employee.getName() + "," + employee.getId() + "," + employee.getGender() + "," + employee.getBirth() + "," + employee.getAddress() + "\n");
}
System.out.println("Saved " + employees.size() + " employees.");
} catch (IOException e) {
System.out.println("Failed to save employees to file: " + e.getMessage());
}
}
private void addEmployee(Scanner scanner) {
System.out.print("Enter employee name: ");
String name = scanner.nextLine();
System.out.print("Enter employee id: ");
String id = scanner.nextLine();
System.out.print("Enter employee gender: ");
String gender = scanner.nextLine();
System.out.print("Enter employee birth: ");
String birth = scanner.nextLine();
System.out.print("Enter employee address: ");
String address = scanner.nextLine();
employees.add(new Employee(name, id, gender, birth, address));
}
private void searchEmployeeByName(Scanner scanner) {
System.out.print("Enter employee name: ");
String name = scanner.nextLine();
for (Employee employee : employees) {
if (employee.getName().equals(name)) {
System.out.println(employee);
return;
}
}
System.out.println("Employee not found!");
}
private void searchEmployeeById(Scanner scanner) {
System.out.print("Enter employee id: ");
String id = scanner.nextLine();
for (Employee employee : employees) {
if (employee.getId().equals(id)) {
System.out.println(employee);
return;
}
}
System.out.println("Employee not found!");
}
private void deleteEmployee(Scanner scanner) {
System.out.print("Enter employee id: ");
String id = scanner.nextLine();
Iterator<Employee> iterator = employees.iterator();
while (iterator.hasNext()) {
Employee employee = iterator.next();
if (employee.getId().equals(id)) {
iterator.remove();
System.out.println("Employee deleted.");
return;
}
}
System.out.println("Employee not found!");
}
private void printAllEmployees() {
for (Employee employee : employees) {
System.out.println(employee);
}
}
}
```
这个程序使用了文件存储数据,文件名为 "employees.txt" ,每一行代表一个员工的信息,由逗号分隔。
程序启动后,会显示一个菜单,可以选择添加员工、按姓名或工号查找员工、删除员工、打印所有员工信息和退出程序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)