• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

"ArrayIndexOutofBoundsException: 2" Array Problem

Sumo_ow

Sumo_ow

Mitglied
Hier ist mein Problem (hilfe!):
In einer Methode will ich jeden Spieler der online ist zu einem bestimmten Block teleportieren.
Angenommen es gibt 4 Spieler, darunter ein Spieler (Ich) welcher auf einen besonderen Block kommt. In einer Schleife werden zuerst alle Spieler der Collection
Java:
Bukkit.getOnlinePlayers()
in ein Array gegeben. In der nächsten Schleife ist der Iterator j auch gleichzeitig die "Sitznummer" oder die Nummer der "Location/Position" auf die der Spieler teleportiert werden soll. z.B. j = 3 und Sitzplatz 3. Wenn der Spieler jedoch "Sumo_ow" (in dem Fall) heißt, kommt er auf einen Sitzt welcher nicht im Array der Locations/Positionen ist, sondern auf einen anderen speziellen. Wenn also j = 0 -> Platz 0.
j = 1 -> Platz 1, in einem Fall würde dann z.b. "Sumo_ow" im Array sein und dementsprechend ist der boolean "xFound" auf true gesetzt worden. Wenn dann also j = 2 -> "Sumo_ow" -> "customLocation" und danach würde j = 3 keinen Platz bekommen, weil es nur 3 Plätze inkl. einen besonderen für "Sumo" gibt. [Platz 0, Platz 1, Platz 2] und "customLocation", dafür die Abfrage ob "xFound" true ist.

In der Konsole kommt der Fehler: "java.lang.ArrayIndexOutOfBoundsException: 2"
Und im Mc-Chat steht: "An internal error occured while attempting to perform this command"

Code:

Java:
        Location locationArray[] = new Location[players];
        locationArray[0] = new Location(world, 2.5, 150.0, 2.5);
        locationArray[1] = new Location(world, -1.5, 150.0, 0.5);
        locationArray[2] = new Location(world, 0.5, 150.0, -1.5);
        
        Location customLoc = new Location(world, 0.5, 150.0, 0.5); //<-- Sumo_ow
        
        Player playerArray[] = new Player[players];
        for (int i = 0; i <= players; i++) {

            playerArray[i] = Iterables.get(Bukkit.getOnlinePlayers(), i);           
        }
        
        for(int j = 0; j <= players; j++) {
            
            if(playerArray[j].getName() == "Sumo_ow") {
                playerArray[j].teleport(customLoc);
                xFound = true;
                
            } else {
                if(xFound) {
                    playerArray[j].teleport(locationArray[j-1]);
                } else {
                    playerArray[j].teleport(locationArray[j]);
                }
                
                
            }
            
            
        }

Ich hab schon versucht, Werte ausgeben zu lassen. Länge von "playerArray" entspricht der Anzahl der online Spieler und enthält sie.
"locationArray"'s Länge auch.
Die Umformung von der Collection zu dem Array funktioniert auch. Ich habe erstmal 3 [0, 1, 2] Locations testweise eingetragen für ein Maximum von 4 Spielern.
Java:
for (int i = 0; i <= players; i++) {

            playerArray[i] = Iterables.get(Bukkit.getOnlinePlayers(), i);           
        }
 
H

httpdigest

Top Contributor
Typischer "off-by-one Error":
Java:
for (int i = 0; i <= players; i++) {
->
Java:
for (int i = 0; i < players; i++) {
Der Schleifenzähler darf ja nicht = players sein, da Arrays mit 0 anfangen.
 
H

httpdigest

Top Contributor
Lese bitte meinen Post nochmal. Insbesondere die zwei Codeblöcke. Der eine soll "vorher=falsch" bedeuten und der zweite "nachher=richtig"
 
H

httpdigest

Top Contributor
Bitte überprüfe auch _alle_ Schleifen in deinem Code. Nicht nur die eine mit dem `i` als Zähler. Du hast da auch noch mehr falsche, z.B. die mit dem `j` als Zähler.
Desweiteren hast du auch noch mehr Fehler in deinem Code.
Zum Beispiel greifst du ja auch per `locationArray[j-1]` auf das Array zu. Was aber, wenn `j=0` ist im ersten Schleifendurchlauf?
 
Sumo_ow

Sumo_ow

Mitglied
Bitte überprüfe auch _alle_ Schleifen in deinem Code. Nicht nur die eine mit dem `i` als Zähler. Du hast da auch noch mehr falsche, z.B. die mit dem `j` als Zähler.
Desweiteren hast du auch noch mehr Fehler in deinem Code.
Zum Beispiel greifst du ja auch per `locationArray[j-1]` auf das Array zu. Was aber, wenn `j=0` ist im ersten Schleifendurchlauf?
Ich habe auch bei der 2. Schleife korriegiert. Nur wenn der Spieler "Sumo_ow" bereits in der Liste enthalten war, dann kriegt der nächste Spieler den Sitz -1. Bei zwei Spielern in meinem Fall dann: j=0 -> "Sumo_ow". j=1 -> Platz 1-1 = Platz 0, da es nur einen Platz gibt [0] und Platz 1 da nicht existieren würde, wenn es nur 2 Spieler gibt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Interpreter-Fehler ArrayIndexOutOfBoundsException bei System.arraycopy() Allgemeine Java-Themen 3
R ArrayIndexOutOfBoundsException: 1 > 0 Allgemeine Java-Themen 6
D JTable -> ArrayIndexOutOfBoundsException bei Mausklick Allgemeine Java-Themen 2
C ArrayIndexOutOfBoundsException Allgemeine Java-Themen 2
J java.lang.ArrayIndexOutOfBoundsException Allgemeine Java-Themen 2
M ArrayIndexOutOfBoundsException unter Linux Allgemeine Java-Themen 3
A ArrayIndexOutOfBoundsException Allgemeine Java-Themen 3
T Erläuterung der ArrayIndexOutOfBoundsException Allgemeine Java-Themen 6
H Matrix ohne Array erstellen Allgemeine Java-Themen 9
Aboya Char Array rekursiv vergleichen Allgemeine Java-Themen 15
V4ll3.Wff Array in Java Allgemeine Java-Themen 4
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
H Array Sportschütze Allgemeine Java-Themen 6
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
M Array verändern Allgemeine Java-Themen 1
A JavaFX 2 dimensionales array Allgemeine Java-Themen 1
L Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
M Java 2D Array für ein Grid erstellen ? Allgemeine Java-Themen 2
H Array mit dem Datentype String[] initializieren Allgemeine Java-Themen 7
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
N Byte Array in Java "dekomprimieren" Allgemeine Java-Themen 3
parrot Array Aufgabe Allgemeine Java-Themen 3
N String Array Eingabe Allgemeine Java-Themen 6
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
D Kgv aller Paare aus einem Array mit n integer berechnen Allgemeine Java-Themen 5
W Enumeration ein Array/List als Eigenschaft mitgeben - warum geht das nicht? Allgemeine Java-Themen 0
kodela Problem mit strukturiertem Array Allgemeine Java-Themen 18
A Array Problem Allgemeine Java-Themen 8
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
F Datei in String-Array einlesen Allgemeine Java-Themen 8
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
I Array Parameter mit 2 Klassen - NullPointerException Allgemeine Java-Themen 3
X Größten Werte in meinem Array löschen? Allgemeine Java-Themen 16
E Angabe wie groß Array sein soll und in for-schleifen diesen Array füllen Allgemeine Java-Themen 3
F 3 Dimensionales Array mit Allgemeine Java-Themen 9
M Steueralgorithmus verwandelt Array in Anfangszustand Allgemeine Java-Themen 9
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
D Datentypen 2-3 Baum erstellen mit geordnetem int-array Allgemeine Java-Themen 0
T Objekt in Array packen Allgemeine Java-Themen 6
M Zahlen in Array anordnen Allgemeine Java-Themen 8
M Eclipse Unvollständigen Array ansteuern Allgemeine Java-Themen 2
D Erste Schritte Im Array Werte tauschen Allgemeine Java-Themen 5
Xge For/Array Error: IndexOutOfBounds Allgemeine Java-Themen 4
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
D Integer-Array variabler Größe mit Zahlen befüllen (Schleifen) Allgemeine Java-Themen 0
J Variablen Array ertellen bei model.put Allgemeine Java-Themen 13
S Eindimensionales Array in zweidimensionales Array speichern Allgemeine Java-Themen 5
R convert 2d array list to 2d array Allgemeine Java-Themen 1
J json Array würfel Spalten durcheinander Allgemeine Java-Themen 9
M Array umbau oder Alternative? Allgemeine Java-Themen 5
L Datentypen 3D Array Allgemeine Java-Themen 3
M 2D Array mit unterschiedlichen Längen erstellen und befüllen Allgemeine Java-Themen 11
Mario1409 Methoden JSON Array von URL Allgemeine Java-Themen 8
E Swing Array mit Bildern in GUI darstellen Allgemeine Java-Themen 2
P Array einer abstrakten Klasse Allgemeine Java-Themen 4
H Zweidimensionales Array - Zellen der Tabelle verbinden Allgemeine Java-Themen 2
M Zweidimensionales Array mit Binärzahlen füllen Allgemeine Java-Themen 8
M Array aus Thread Objekten erstellen Allgemeine Java-Themen 2
kodela Dynamisches Array in einer Klasse Allgemeine Java-Themen 5
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
J Wie kann ich ein Java Array als Säulendiagramm ausgeben? Allgemeine Java-Themen 2
Z 2D Array Pixels reparieren Allgemeine Java-Themen 2
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
B Polibios Array erweitern Allgemeine Java-Themen 1
R Index in einem Array löschen Allgemeine Java-Themen 10
R Index in einem Array löschen Allgemeine Java-Themen 2
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
J Array-List Bubble-Sort Allgemeine Java-Themen 12
4 Variablen Int-Array Int Zuweisen Allgemeine Java-Themen 7
J Array Allgemeine Java-Themen 8
Z Array mit unterschiedlichen Werten Allgemeine Java-Themen 1
L sortiertes Array im main aufrufen klappt nicht. Allgemeine Java-Themen 3
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
A Mit dem letzten bis zum ersten Wert aus Array rechnen Allgemeine Java-Themen 15
A Vector Strings in Array splitten Allgemeine Java-Themen 6
I Muster in Array suchen Allgemeine Java-Themen 10
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
B Zahlen manuell eingeben und in Array Speichern Allgemeine Java-Themen 2
R Wärmeleitung, 3d-Array Allgemeine Java-Themen 2
T Java Array in Methoden Allgemeine Java-Themen 1
D Erste Schritte Array von einer forschleife nach ausserhalb trasferieren Allgemeine Java-Themen 3
heyluigi Random Integer Array Ausgabe nach Größe sortieren Allgemeine Java-Themen 6
T Array in .txt oder .xml? Allgemeine Java-Themen 15
J Mehrere Wörter getrennt in eine Array einlesen, wie ? Allgemeine Java-Themen 7
C Boolean Array Allgemeine Java-Themen 4
C Objekte in Array List speichern? Allgemeine Java-Themen 1
I quadratisches Array füllen Allgemeine Java-Themen 11
T Array - Wert am nächsten zur vollen Sekunde Allgemeine Java-Themen 20
K Array in ArrayList Allgemeine Java-Themen 16
K Array übertragen Allgemeine Java-Themen 5
K Array, Int expected, Integer found Allgemeine Java-Themen 5
KilledByCheese 2D-Grafik 2D-Array als Gitter darstellen Allgemeine Java-Themen 2
RalleYTN Input/Output Clip als ein Array von Bytes? Allgemeine Java-Themen 2
JG12111989 char-Array in int-Array umwandeln Allgemeine Java-Themen 27

Ähnliche Java Themen

Anzeige

Neue Themen


Oben