Ich muss bestimmen, welcher Predator in meinem PredatorList
Array den meisten Schaden erhalten hat. Aus irgendeinem Grund, wenn ich versuche diesen Räuber zurückzubringen, sagt Eclipse - mostDamaged
kann nicht in eine Variable aufgelöst werden.Rückgabe spezifisches Array-Objekt innerhalb einer Methodendefinition
Warum ist das so?
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;
}
Da es keine Variable 'mostDamaged' genannt wird. –
Übrigens kann dies alles geschrieben werden als 'Arrays.stream (PredatorList). Max (Comparator.comparing (p-> p.getMaxHitPoints() - p.getHitPoints())). Außerdem verwenden wir in Java 'camelCase' für Variablen,' PascalCase' sind Reserven für Klassen - bitte ** immer ** bleibe bei dieser Konvention. –