2017-11-13 1 views
0

Ich versuche, zwei Positionen von verschiedenen ArrayLists zu subtrahieren und das Ergebnis in einer anderen ArrayList zu speichern, aber ich bekomme den IndexOutOfBoundsException Fehler. Ich verstehe, wie funktioniert dieser Fehler und was es bedeutet. Das Problem ist, dass wenn ich meinen Code mit dem Debugger läuft es gut funktioniert, aber wenn ich es normal laufen lasse, gibt es mir den Fehler.IndexOutOfBoundsException?

Here I declare the variables

Here is the for loop code.

Here is the error

Beide Listen "accels" und "gravs" haben die gleiche Größe 252. Ich verstehe nicht, warum Schritt für Schritt funktioniert es und alle Dauer keine .

+1

Bitte fügen Sie Codes und Protokolle als Texte ein. – Toris

+1

Wenn Sie den entsprechenden Code, wo Sie das Problem stellen können, können Menschen helfen können –

Antwort

0

Dies wird es beheben.

for(int i = 0; i < accels.size() && i < gravs.size(); i++) { 

} 
+0

Es funktioniert danke. Aber kannst du mir erklären, warum ich beide Listengrößen berücksichtigen muss? Ich verstehe, dass, wenn die gleichen sind, nur eine von ihnen ist genug, um jetzt die Anzahl der Schritte –

+0

Anscheinend sind sie nicht die gleiche Größe. – Brianvdb

0

Probieren Sie die Schleife ohne Überprüfung <= für Ihre Iteration. (i < accels.size())

Verwandte Themen