Die unerklärliche Fehlermeldung

Almanex

Mitglied
Guten Morgen allerseits,

seit Tagen beschäftige ich mich mit der Bounds-Exception. Ich habe schon viele Ansätze probiert, aber kein Ansatz hat mich weiter gebracht.

Die Liste enthält 16 Element, über die Methode remove() übergebe ich einen Ganzzahl-Parameter und möchte diese Elemente aus der Liste löschen. Die gelöschte Elemente in einer anderen Listen speichern. Wenn ich 8 von 16 Elemente bzw. <= 8 löschen möchte, dann funktioniert es problemlos. Sobald ich Elemente > 8 löschen möchte, wirft Eclipse die Bounds-Fehlermeldung. Wer kann mir helfen?

Ich habe euch die betroffenen Stellen rot markiert. :)

Mit freundlichen Grüßen

Almanex
 

Anhänge

  • 2021-11-30 (2).png
    2021-11-30 (2).png
    179,6 KB · Aufrufe: 8
K

kneitzel

Gast
Du hast die falsche Zeile markiert - die Zeile, in der der Fehler aufgetreten ist, ist 2 Zeilen tiefer wo Du Element 16 von ballListOfPool abfragst (Zeile 102 - wie auch im Stacktrace vermerkt).

Und wir sehen nichts zu ballListOfPool, daher können wir Dir nicht sagen, wieso Da nur 14 Elemente drin sind und nicht 17, wie Du anscheinend annimmst.

Anmerkung: Codem stacktrace und so bitte in Code-Tags posten! Also über den Knopf </> links oberhalb des Eingabebereichs.
 

mihe7

Top Contributor
Das Problem dürfte sein, dass Du über die Indizes 1 bis n iterierst, in der Schleife dann das betreffende Element löscht. Durch das Löschen verschieben sich die nachfolgenden Elemente nach vorne.
 

Almanex

Mitglied
[CODE lang="java" title="Die Liste"]List<BallPool> ballListOfPool = new ArrayList<>();
ballListOfPool.add(new BallPool(Color.RED, build2));
ballListOfPool.add(new BallPool(Color.WHITE, build2));
ballListOfPool.add(new BallPool(Color.YELLOW, build2));
ballListOfPool.add(new BallPool(Color.RED, build2));
ballListOfPool.add(new BallPool(Color.WHITE, build2));
ballListOfPool.add(new BallPool(Color.YELLOW, build2));
ballListOfPool.add(new BallPool(Color.RED, build2));
ballListOfPool.add(new BallPool(Color.WHITE, build2));
ballListOfPool.add(new BallPool(Color.YELLOW, build2));
ballListOfPool.add(new BallPool(Color.RED, build2));
ballListOfPool.add(new BallPool(Color.WHITE, build2));
ballListOfPool.add(new BallPool(Color.YELLOW, build2));
ballListOfPool.add(new BallPool(Color.RED, build2));
ballListOfPool.add(new BallPool(Color.WHITE, build2));
ballListOfPool.add(new BallPool(Color.YELLOW, build2));
ballListOfPool.add(new BallPool(Color.RED, build2));[/CODE]

[CODE lang="java" title="Remove-Methode"]public List<? extends BilliardBall> removeBalls(int numberOfRemoveBalls) {

List<BilliardBall> listOfremoveBalls = new ArrayList<>();

if (numberOfRemoveBalls <= listOfBalls.size()) {
for (int i = 1; i <= numberOfRemoveBalls; i++) {
listOfremoveBalls.add(listOfBalls.get(i - 1));
listOfBalls.remove(i - 1);
}
}
return listOfremoveBalls;
}[/CODE]

[CODE lang="java" title="Aufruf"]System.out.println(pool.removeBalls(14));[/CODE]

Habe den Code danach bisschen angepasst, aber jetzt ist das Bild auf dem aktuellsten Stand
Die Fehlermeldung:
 

Anhänge

  • 2021-12-01 (2).png
    2021-12-01 (2).png
    195,2 KB · Aufrufe: 3

mihe7

Top Contributor
Nein, es geht um die Schleife selbst.

Wenn Du 2 Elemente in der Liste hast, dann lässt Du i von 1 bis inkl. 2 laufen. Jetzt löscht Du im ersten Durchlauf das Element mit Index 0. Dadurch hast die Liste nur noch ein Element mit Index 0; i wird um 1 erhöht beim nächsten Durchlauf krachts natürlich.

Es gibt zwei Möglichkeiten: entweder löschst Du immer das Element an Index 0 oder aber Du zählst rückwärts.
 

Almanex

Mitglied
Vielen Dank, mihe7!

Jetzt leuchtet es ein 😅

Die Lösung:
[CODE lang="java" title="Remove-Methode"]public List<? extends BilliardBall> removeBalls(int numberOfRemoveBalls) {

List<BilliardBall> listOfremoveBalls = new ArrayList<>();

if (numberOfRemoveBalls <= listOfBalls.size()) {
for (int i = numberOfRemoveBalls - 1; i >= 0; i--) {
listOfremoveBalls.add(listOfBalls.get(i));
listOfBalls.remove(i);
}
}
return listOfremoveBalls;
}[/CODE]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Unerklärliche nullpointerexception Allgemeine Java-Themen 6
M unerklärliche Prozesskopien Allgemeine Java-Themen 2
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
Zrebna Was bedeutet folgende Fehlermeldung...? Allgemeine Java-Themen 1
O long Fehlermeldung Allgemeine Java-Themen 8
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
N Fehlermeldung beheben Allgemeine Java-Themen 6
J Fehlermeldung bei Ausführung von .jar-Datei Allgemeine Java-Themen 9
M stream.Collectors Fehlermeldung Allgemeine Java-Themen 1
R Schlüsselworte "Throw new exception" gibt nicht den String als Fehlermeldung aus Allgemeine Java-Themen 2
N Neustarten des Codes nach der Fehlermeldung Allgemeine Java-Themen 17
M Java-Programminstallation stoppt mit Fehlermeldung Allgemeine Java-Themen 1
C Fehlermeldung Allgemeine Java-Themen 1
M Java Virtual Machine Launcher (Fehlermeldung) Allgemeine Java-Themen 8
0 Code startet nicht (Keine Warnung/Fehlermeldung) Allgemeine Java-Themen 4
Shido JDK installieren Eclipse - Fehlermeldung Allgemeine Java-Themen 4
E Fehlermeldung vor dem Programm code Allgemeine Java-Themen 1
K Interpreter-Fehler Java Zahl Raten Spiel- Fehlermeldung mir unbekannt Allgemeine Java-Themen 12
C Hilfe bei einer Fehlermeldung Allgemeine Java-Themen 5
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
G UUencoding bring Fehlermeldung: No beginn line / Missing 'end' line Allgemeine Java-Themen 0
J Runnable jar-File: Fehlermeldung Allgemeine Java-Themen 2
0 Lösungsweg Client Server Kommunikation Fehlermeldung ausgeben Allgemeine Java-Themen 12
A Fehlermeldung "No vertex field found" Allgemeine Java-Themen 18
K Fehlermeldung mit jar-Datei Allgemeine Java-Themen 2
C Button geben Fehlermeldung aus Allgemeine Java-Themen 5
Hindi93 Fehlermeldung UnsatisfiedLinkError Allgemeine Java-Themen 8
N Hibernate und Fehlermeldung Allgemeine Java-Themen 18
I Fehlermeldung im zusammenhang mit String Allgemeine Java-Themen 5
hdi JVM kackt ab mit spezieller Fehlermeldung Allgemeine Java-Themen 8
A Jar-File startet ohne Aktion und ohne Fehlermeldung Allgemeine Java-Themen 4
Daniel_L Mac-spezifische Fehlermeldung auf nicht OS-X-Systemen Allgemeine Java-Themen 9
E Datenbank/iBatis Fehlermeldung Allgemeine Java-Themen 4
G RCP Eclipse Fehlermeldung beim export Allgemeine Java-Themen 5
J Was bedeutet diese Fehlermeldung? Allgemeine Java-Themen 4
0 case orphaned Fehlermeldung! Allgemeine Java-Themen 2
V fehlermeldung heap space, endlosschleife??? Allgemeine Java-Themen 4
T Merkwürdige Fehlermeldung Allgemeine Java-Themen 5
D jdk fehlermeldung probleme wegen der partition? Allgemeine Java-Themen 10
P JFreeChart Fehlermeldung Allgemeine Java-Themen 2
@ [Eclipse] Fehlermeldung bei import-Anweisung Allgemeine Java-Themen 3
T Unbekannte Fehlermeldung + Lösung? Allgemeine Java-Themen 4
G Fehlermeldung bei RFC Allgemeine Java-Themen 4
G Nachdem die neuste Version v. Java installiert-Fehlermeldung Allgemeine Java-Themen 22
T Fehlermeldung Allgemeine Java-Themen 4
P Fehlermeldung Allgemeine Java-Themen 15
G Split String Array bringt Fehlermeldung Allgemeine Java-Themen 7
P Fehlermeldung Allgemeine Java-Themen 8
MQue Fehlermeldung Allgemeine Java-Themen 5
P ständige Fehlermeldung im Eclipse Allgemeine Java-Themen 2
E Fehlermeldung Allgemeine Java-Themen 3
M Fehlermeldung! (Problem mit einem Prog) Allgemeine Java-Themen 5
E JExcel- Zugriff auf leere Zellen kommt eine Fehlermeldung Allgemeine Java-Themen 6
D JavaMail SMTP Fehlermeldung Allgemeine Java-Themen 2
D JavaMail Fehlermeldung Allgemeine Java-Themen 4
K log4j - Fehlermeldung Allgemeine Java-Themen 2
T Konsole "Fehlermeldung": error hereerror here Allgemeine Java-Themen 4
B Fehlermeldung von dispatcher.forward abfangen Allgemeine Java-Themen 2
A JSP include - keine Fehlermeldung Allgemeine Java-Themen 2
P Fehlermeldung "Die Klasse sun/plugin/javaRunTime kann n Allgemeine Java-Themen 3
E Java Fehlermeldung java.lang.NoClassDefFoundError Allgemeine Java-Themen 3
J Fehlermeldung Allgemeine Java-Themen 5
D Fehlermeldung in .txt speichern Allgemeine Java-Themen 2
S Fehlermeldung Allgemeine Java-Themen 2
P Fehlermeldung beim Speichern eines java files Allgemeine Java-Themen 5
S Fehlermeldung bzgl. VM -> ständiger Absturz Allgemeine Java-Themen 7
S fehlermeldung java.lang.OutOfMemoryError Allgemeine Java-Themen 5
sokobus Fehlermeldung Allgemeine Java-Themen 25
A Fehlermeldung: cannot be resolved Allgemeine Java-Themen 5
C Frage zur Fehlermeldung Allgemeine Java-Themen 3
G Fehlermeldung "cannot resolve symbol" Allgemeine Java-Themen 7
N Fehlermeldung Allgemeine Java-Themen 7
T Hilfe!!! Fehlermeldung... "unable..." Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben