IndexOutOfBounds?

Herbert69420

Mitglied
Hallo Leute,

Ergänze gerade eine Methode und bekomme dauernd folgende Fehlermeldung.
habe erst angefangen Java zu lernen also kann sein es ist irgendwas ganz offensichtliches.
Ich weiß es hat irgendwas mit dem Array zu tun aber ich weiß nicht was.:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1
at chesspieces.Pawn.getMoveFields(Pawn.java:36)

hier der Code:
Java:
public Point[] getMoveFields() {
            
    
        boolean frei = isFrontClear();
        
        if (frei == true) {
            Point[] begehbares = new Point[1];
            begehbares[0] = new Point(getX(),getY()+1);
            begehbares[1] = new Point(getX(),getY()+2);
            return begehbares;   
        }
        
        else return null;
 

temi

Top Contributor
Dein Array hat die Größe 1 und du versuchst auf zwei Indizes zuzugreifen.

Beachte: Bei der Erzeugung des Arrays wird die Größe angegeben, nicht der höchste Index.

new Point[1] hat genau ein Element mit dem Index 0.
 

Herbert69420

Mitglied
ohgott…...es funktioniert! Und ich sitze hier 2 stunden und such nach irgendwelchen komplizierten Fehlern in der main. Ich dachte immer wenn man Arrays erstellt wird halt einfach bei null angefangen zu zählen bis zu der zahl die man als Größe angegeben hat....ich könnte mich ohrfeigen.
DANKE!
 

Ähnliche Java Themen

Neue Themen


Oben