Ich habe eine Methode, die eine Anzahl der Objekte zurückgibt, die einen höheren Wert haben als der Durchschnitt aller Objekte in einem ArrayList
.Was ist der beste Weg, den Durchschnittswert von Objekten zu finden, die in einer Arraylist gespeichert sind?
Das Objekt 'Benutzer' hat den ganzzahligen Wert innerhalb seiner Klasse (Ebene) gespeichert.
Meine Methode funktioniert, aber ich frage mich, ob es eine bessere Möglichkeit gibt, den Durchschnitt aller Objektwerte zu finden?
public int bestPlayers() {
ArrayList<User> players = new ArrayList<User>();
int bestPlayers = 0;
int totalPlayerLevel = 0;
double averageLevel = 0;
for (int i = 0; i < players.size(); i++) {
totalPlayerLevel += players.get(i).level;
}
averageLevel = totalPlayerLevel/players.size();
for (int i = 0; i < players.size(); i++) {
if (players.get(i).level > averageLevel) {
bestPlayers++;
}
}
return bestPlayers;
}
'averageLevel = (double) totalPlayerLevel/players.size;' für bessere Präzision. – MikeCAT
http://stackoverflow.com/questions/12002332/how-to-manipulate-arrays-find-the-average-beginner-java – Idos
'averageLevel = (double) totalPlayerLevel/players.size();' könnte besser sein, weil Die Eigenschaft 'java.util.ArrayList.size' ist privat. – MikeCAT