private String name;
private int age;
private BigDecimal salary;
private Date hireDate;

public Employee(String name, int age, BigDecimal salary, Date hireDate) {
    this.name = name;
    this.age = age;
    this.salary = salary;
    this.hireDate = hireDate;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public BigDecimal getSalary() {
    return salary;
}

public void setSalary(BigDecimal salary) {
    this.salary = salary;
}

public Date getHireDate() {
    return hireDate;
}

public void setHireDate(Date hireDate) {
    this.hireDate = hireDate;
}

public static void main(String[] args) throws ParseException {
    String data = 'name=小红&age=17&salary=8000.00&hireDate=1991-07-03;' +
            'name=小明&age=23&salary=10000.00&hireDate=1992-12-11;' +
            'name=小白&age=18&salary=12000.00&hireDate=1996-01-09';
    String[] employeesData = data.split(';');
    List<Employee> employees = new ArrayList<>();
    SimpleDateFormat dateFormat = new SimpleDateFormat('yyyy-MM-dd');

    for (String employeeData : employeesData) {
        String[] attributes = employeeData.split('&');
        String name = attributes[0].split('=')[1];
        int age = Integer.parseInt(attributes[1].split('=')[1]);
        BigDecimal salary = new BigDecimal(attributes[2].split('=')[1]);
        Date hireDate = dateFormat.parse(attributes[3].split('=')[1]);
        employees.add(new Employee(name, age, salary, hireDate));
    }

    BigDecimal totalSalary = BigDecimal.ZERO;
    for (Employee employee : employees) {
        if (employee.getHireDate().before(dateFormat.parse('1996-01-01'))) {
            totalSalary = totalSalary.add(employee.getSalary());
        }
    }

    BigDecimal averageSalary = totalSalary.divide(BigDecimal.valueOf(employees.size()), 2, BigDecimal.ROUND_HALF_UP);
    System.out.println('1996 年前入职的员工的平均薪资为: ' + averageSalary);
}

代码功能:

  1. 定义 Employee 类,包含员工姓名、年龄、薪资和入职日期属性。
  2. 从字符串 data 中解析出员工信息,创建 Employee 对象并添加到 employees 列表中。
  3. 遍历 employees 列表,计算 1996 年前入职员工的总薪资 totalSalary
  4. 计算 1996 年前入职员工的平均薪资 averageSalary,并输出结果。

SEO 优化:

  • 标题: Java 员工信息处理: 计算 1996 年前入职员工的平均薪资
  • 描述: 本代码展示了如何使用 Java 处理员工信息,从字符串中提取数据,创建 Employee 对象,并计算 1996 年前入职员工的平均薪资。
  • 关键词: Java, 员工信息处理, 平均薪资, 1996 年前入职, 字符串解析, Employee 对象

内容优化:

  • 将代码中的双引号改为单引号。
  • 添加代码功能描述和 SEO 优化信息。
  • 代码块使用 java 标记,方便搜索引擎识别。
  • 使用简洁易懂的语言描述代码功能。
  • 使用相关关键词,提高搜索排名。

其他建议:

  • 可以考虑将代码拆分成多个方法,提高代码的可读性和可维护性。
  • 可以添加单元测试,保证代码的正确性。
  • 可以使用更专业的库进行数据解析和处理,提高代码效率。
  • 可以考虑使用数据库存储员工信息,提高数据的持久性和可扩展性。
  • 可以根据实际情况添加更多功能,例如计算员工年龄、计算工龄等。

希望这些优化建议对你有所帮助!


原文地址: https://www.cveoy.top/t/topic/pZH0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录