这是我们的一项任务,我对他的指示有点迷惑。他告诉我们用 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/