这里是Java初学者。我应该找到参与者在 Activity 中获得的最佳结果(然后将此结果与其他结果进行比较以找到获胜者等)。
我为事件(包含事件结果列表)、参与者(包含参与者总结果列表)和结果(包含事件 obj、参与者 obj 和结果( double ))+命令的程序类创建了类。
到目前为止,我已经编写了一个方法,该方法以 double 形式返回参与者在事件中的最佳结果,但我需要返回整个结果对象。不确定哪个类应该负责这个(?),但我现在将此方法放在事件类中。
public double getBestResultDouble(Participant p) {
double best = 0;
if (hasResult(p)) {
for (Result r : eventResults) {
if (p.equals(r.getParticipant())) {
double res = r.getResult();
if (res > best) {
best = res;
}
}
}
}
return best;
}
最佳答案
只需将相应的(最佳)结果保存为另一个局部变量并在最后返回:
public Result getBestResultDouble(Participant p) {
double best = 0;
Result bestResult = null;
if (hasResult(p)) {
for (Result r : eventResults) {
if (p.equals(r.getParticipant())) {
double res = r.getResult();
if (res > best) {
best = res;
bestResult = r;
}
}
}
}
return bestResult;
}
关于java - 如何在ArrayList中找到具有最大属性值的对象(使用不同的类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41988434/