创建一个员工类,每个员工有工号(int)、姓名(String)、部门(String)、工资(int),使用Collection接口的实现下面操作: 1)、添加几条信息 2)、列出所有的员工姓名 3)、列出所有员工姓名及其工资 4)、输出Jack的工资,并将其工资改为1500元(通过changePay(int)方法修改) 5)、将所有工资低于1000元的员工的工资上涨20%(通过changePay(float)方法修改) 6)、计算每个部门的平均工资 7)、删除名叫“Tom”的员工信息 具体员工情况见下表: 工号 姓名 部门 工资 1001 Tom Market 1200 1002 Jack Department 1300 1003 Simth Market 2000 1004 Tony Department 3000
时间: 2024-03-22 19:39:30 浏览: 10
以下是一个可能的实现:
```
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class Employee {
private int id;
private String name;
private String department;
private int salary;
public Employee(int id, String name, String department, int salary) {
this.id = id;
this.name = name;
this.department = department;
this.salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getDepartment() {
return department;
}
public int getSalary() {
return salary;
}
public void changePay(int newSalary) {
this.salary = newSalary;
}
public void changePay(float percentage) {
this.salary = (int) (this.salary * (1 + percentage));
}
public static void main(String[] args) {
Employee e1 = new Employee(1001, "Tom", "Market", 1200);
Employee e2 = new Employee(1002, "Jack", "Department", 1300);
Employee e3 = new Employee(1003, "Simth", "Market", 2000);
Employee e4 = new Employee(1004, "Tony", "Department", 3000);
Collection<Employee> employees = new ArrayList<>();
employees.add(e1);
employees.add(e2);
employees.add(e3);
employees.add(e4);
// 列出所有的员工姓名
System.out.println("所有员工姓名:");
for (Employee e : employees) {
System.out.println(e.getName());
}
// 列出所有员工姓名及其工资
System.out.println("所有员工姓名及其工资:");
for (Employee e : employees) {
System.out.println(e.getName() + ": " + e.getSalary());
}
// 输出Jack的工资,并将其工资改为1500元
for (Employee e : employees) {
if (e.getName().equals("Jack")) {
System.out.println("Jack的工资为:" + e.getSalary());
e.changePay(1500);
break;
}
}
// 将所有工资低于1000元的员工的工资上涨20%
for (Employee e : employees) {
if (e.getSalary() < 1000) {
e.changePay(0.2f);
}
}
// 计算每个部门的平均工资
Map<String, Double> avgSalaryByDept = new HashMap<>();
Map<String, Integer> countByDept = new HashMap<>();
for (Employee e : employees) {
String dept = e.getDepartment();
double salary = e.getSalary();
double sum = avgSalaryByDept.getOrDefault(dept, 0.0) * countByDept.getOrDefault(dept, 0);
countByDept.put(dept, countByDept.getOrDefault(dept, 0) + 1);
avgSalaryByDept.put(dept, (sum + salary) / countByDept.get(dept));
}
System.out.println("每个部门的平均工资:");
for (String dept : avgSalaryByDept.keySet()) {
System.out.println(dept + ": " + avgSalaryByDept.get(dept));
}
// 删除名叫“Tom”的员工信息
employees.removeIf(e -> e.getName().equals("Tom"));
}
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)