Kann mir jemand sagen wo das Problem bei meinem Programm liegt(Java)?

3 Antworten

Das Array funk hat 23 Plätze (von 0 bis 22).

x hat am Anfang den Wert 0 und z den Wert 1.

x entwickelt sich so:

0,2,4,6,8,usw.

Gleichzeitig entwickelt sich z so:

1,3,5,7,9,usw.

Das heißt, in dem Moment, wo x=22 gilt, gilt auch z=23. Und der Zugriff auf das Element mit dem Index 23 ist nicht gestattet, eine AIOOB-Exception wird deshalb ausgelöst.

Um das zu verhindern, könntest du beispielsweise x UND z im Schleifenkopf überprüfen.

Woher ich das weiß:Studium / Ausbildung

Out of Bounds ist ein Zugriff außerhalb des Array.

Du prüfst zwar x, aber Dein z, mit dem Du auch darauf zugreifst, überschreitet die Obergrenze des Index deutlich.

Dein Array ist nur 23 Einträge groß. Somit ist der höchste Index 22. Du versuchst aber den Index 23 zu verwenden.