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

标签 java arrays arraylist compare

这是我们的一项任务,我对他的指示有点迷惑。他告诉我们用 equals 方法编写一个程序,比较数组中每两个员工的工资(我已经创建了这个),并成对打印每两个工资相同的员工的 SSN。他做出了免责声明 该代码应该只比较两个不同的员工,并且只比较一次。每两个不同的员工只比较一次。该数组的大小为 10。

我已经向多位同行询问过他的意思,但他们也很困惑。这就是我所拥有的: 对于类(class):

    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 的比较。如有任何帮助,我们将不胜感激。

最佳答案

使用 int j = i+1 初始化 j,而不是 int j = i+2

关于Java:如何比较数组中的每两个元素一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51235741/

相关文章:

java - 如何在tomcat中运行使用高内存的超长请求?

java - Spring @Transactional 在类上与在方法上

java - 使用 Xstream 序列化实体类

arrays - 使用逗号和单引号连接数组元素 - Bash

python - np.array[ :, 0] 和 np.array[ :, [0]] 有什么区别?

string - 在kotlin中合并两个字符串

java - 为什么我不能在这段代码中使用 Collections.max() 函数? - java

java - 如何循环遍历字符串并删除特定元素?

java - java arraylist中的数字按升序排序

android - 如何将选定的值传递给另一个 Activity ?