Java:如何一次比较数组中的每两个元素?

时间:2018-07-08 20:27:48

标签: java arrays arraylist compare

这是我们的任务,我对他的指导有些迷惑。他告诉我们编写一个名为equals的方法的程序,以比较数组中每两个员工的薪水(我已经创建了这个),并成对打印每两个薪水相同的员工的SSN。他免责声明 该代码只能比较两个不同的雇员,并且只能比较一次。每两个不同的员工仅比较一次。数组的大小为10。

我已经问过许多同龄人他的意思,但他们也感到困惑。这就是我所拥有的: 对于班级:

    public boolean equals(Employee e)
    {
        boolean status;
        if(salary == e.getSalary())
        {
           status = true;
        }
        else
           status = false;
        return status;
    }

对于演示:

     for(int i = 0; i < employees.length; i++)
     {
        for(int j = i+1; j < employees.length; j++)
        {
           if(employees[i].equals(employees[j]))
              System.out.println(employees[i].getSsn() + "\t" + 
                                 employees[j].getSsn());
        }
     }

它可以编译,但是跳过索引0和索引1的比较。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用int j = i+1而非int j = i+2初始化j