Ich gehe ein Beispiel für Code Wars durch. Im Wesentlichen nehmen Sie eine Zahl, finden die Vielfachen von 3 und 5 und addieren diese zusammen. Angenommen, die Zahl ist 10, dann haben wir 3,5,6,9.Arraylist OutOfBoundsException: Index: 5, Größe: 4
Ich bin an dem Punkt, wo ich die Vielfachen zusammenfügen möchte (die foreach-Schleife am unteren Rand), aber ich bekomme immer eine OutOfBoundsException. Ich verstehe nicht, wie es Index 5 erreicht! Kann mir bitte jemand das erklären?
Ich habe hier ein paar Beispiele für diesen Fehler gesehen, kann diese aber nicht überprüfen. Ich konnte das Problem nicht beheben, sorry.
package Test;
import java.util.ArrayList;
import java.util.List;
public class MultiplesOf3And5 {
public static void main(String[] args) {
int number = 10;
int total = 0;
List<Integer> multiples = new ArrayList<Integer>();
for (int i = 1; i < number; i++) {
if (i % 3 == 0) {
System.out.println(i + " is a multiple of 3");
multiples.add(i);
} else if (i % 5 == 0) {
System.out.println(i + " is a multiple of 5");
multiples.add(i);
}
}
for (int j : multiples){
System.out.println(multiples.get(j));
System.out.println(multiples.toString());
total += multiples.get(j);
}
System.out.println(total);
}
}
Warum verwenden Sie 'multiples.get (j)'? –
Ich sollte nicht, guter Punkt;) –