Hier ist mein Code:
%Vor%Ich möchte das Array in absteigender Reihenfolge ausgeben, anstatt in aufsteigender Reihenfolge (vom letzten Element des Arrays zum ersten), aber ich bekomme nur diesen Fehler geworfen:
%Vor%Warum passiert das? Ich hatte gehofft, dass durch die Verwendung von myArray.length, um den Zähler auf 8 zu setzen, der Code nur das achte Element des Arrays ausdrucken würde und dann den vorherigen drucken würde.
Arrays in Java werden von 0
bis length - 1
, nicht 1
bis length
indiziert, daher sollten Sie Ihre Variable entsprechend zuweisen und den richtigen Vergleichsoperator verwenden.
Ihre Schleife sollte so aussehen:
%Vor% Das Problem hier ist dieses Stück Code: myArray.length
. In Java sind Datenstrukturen wie in den meisten anderen Sprachen 0-basiert. Das letzte Element hat also einen Index von structure.length - 1
(und das erste ist 0
). In Ihrem Fall sollten Sie Ihre Schleife wie folgt ändern:
int myArray[]={1,2,3,4,5,6,7,8};
Hier ist die angegebene Array-Länge 8, da die Zählung bei 1 beginnt, aber für den Index myArray[0] = 1;
kommt.
und so weiter .... hier beginnt die Indexzählung bei 0.
Also in deinem Stück Code
verlässt die Array-Grenze und zeigt Ihnen ArrayIndexOutOfBoundsException
.