嗨,我有两类员工和部门。我的主要职能是读取一个.txt文件,其中包含员工姓名,工资,部门和职位。我的Employee类只是吸气剂和吸气剂。列出了一组代表员工的清单,但我不确定如何找到每个部门的最低工资。为了找到最高薪水,我在部门课上做到了这一点。

public class Department {
    String dept;
    List<Employee> employees;
    double minSal;
    double maxSal;

    public void addEmployee(Employee emp){
        maxSal = 0.0;
        if (maxSal < emp.getSalary()) {
            maxSal = emp.getSalary();
        }


但我不确定如何获得最低工资。我的想法是从每个部门获取一名员工的薪水,并以此为起点

if (minSal > emp.getSalary()) {
    minSalary = emp.getSalary();
}


但是我意识到我不知道该怎么办。我可以得到一些帮助吗?

最佳答案

有一个特殊的数字Double.POSITIVE_INFINITY,该数字大于任何用double表示的数字。您可以将其用作搜索最小值的起点:

double minSalary = Double.POSITIVE_INFINITY;
...
if (minSal > emp.getSalary()) {
    minSalary = emp.getSalary();
}


另一个常见的技巧是将minSalary设置为列表的第一个元素,然后从第二个元素开始搜索。

09-16 19:49