Мне нужно определить, какой хищник в моем массиве PredatorList
получил наибольший урон. По какой-то причине, когда я пытаюсь вернуть этого хищника, eclipse говорит - mostDamaged
не может быть разрешен переменной.Возвращение определенного объекта массива в определение метода
Почему это так?
public Predator mostDamagedPredator() {
// test if PredatorList contains predators
if (PredatorList.length > 0){
float difference = 0;
for (int i = 0; i < PredatorList.length; i++) {
if (PredatorList[i].getMaxHitPoints() - PredatorList[i].getHitPoints() > difference){
Predator mostDamaged = PredatorList[i];
}
}
return mostDamaged; // ERROR - mostDamaged cannot be resolved to a variable
}
// return null if there are no predators in PredatorList
return null;
}
Поскольку не существует переменная с именем 'mostDamaged'. –
Кстати, все это можно записать как 'Arrays.stream (PredatorList) .max (Comparator.comparing (p -> p.getMaxHitPoints() - p.getHitPoints())). Кроме того, в Java мы используем 'camelCase' для переменных,' PascalCase' является резервом для классов - пожалуйста ** всегда ** придерживайтесь этого соглашения. –