public static void main(String[] args){
........................
for(int i = 0; i<play.size(); i=i+1){
System.out.println("the Winner is; " +Winners(play).get(i).name);
}
}
Dies ist die Hauptmethode. Ich habe nichts hier aufgeschrieben, weil es unnötig ist. im Grunde, was ich tue, ist, dass ich Winners
Methode annonciere, die ArrayList<Game>
als Argument nimmt. play
ist vom Typ ArrayList<Game>
. Darauf möchte ich die Elemente im Inneren bekommen und ihren Namen bekommen. damit der Name des Gewinners auf dem Bildschirm angezeigt wird. Ich für Schleife, weil es mehrere Gewinner geben kann. hängt davon ab, wie viele Aktien die gleiche Punktzahl haben.Java for Schleife ArrayList, indexoutofboundexception
private static ArrayList<Game> Winners(ArrayList<Game> gamers){
ArrayList<Game> winner = new ArrayList<Game>();
for(int i = 1; i==gamers.size(); i=i+1){
if(gamers.get(i).getPoints()>gamers.get(i-1).getPoints()){ winner.clear();
winner.add(gamers.get(i));
}
else if(gamers.get(i).getPoints()<gamers.get(i-1).getPoints()){ winner.clear();
winner.add(gamers.get(i-1));
}
else if(gamers.get(i).getPoints()==gamers.get(i-1).getPoints()){ winner.clear();
winner.add(gamers.get(i));
winner.add(gamers.get(i-1));
}
}
return winner;
}
die Winners
Methode gibt ein Arraylist<Game>
, die ist, wo der Spieler oder die Spieler mit Bestnote gespeichert sind. Ich Schleife durch jeden der gamers
und vergleichen Sie ihre points
miteinander. derjenige, der die meisten Punkte erzielt hat, wird in der Arraylist Winner
gespeichert.
ich clear die winner
arraylist die ganze zeit einige elemente geht drinnen, weil ich nur die top-punkte dort gespeichert wollen.
Mein Problem ist, ich weiß nicht, ob ich es richtig mache. weil ich Fehler auf auf dem System.out.println("the Winner is; " +Winners(play).get(i).name);
bekomme. es sagt Index 0 Größe 0 (IndexOutOfBoundsException)
Warum Elemente innerhalb des bekommen gespeichert doesnt? – adamH
'für (int i = 1; i == gamers.size(); i = i + 1) {' tut nicht, was ich denke, dass Sie denken, dass es tut :) – fvu
btw können Sie 'i ++' anstelle von verwenden 'i = i + 1' –