reverse for-Schleife für array-countdown
Bekomme ich die Fehlermeldung..
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10
at Reverse.main(Reverse.java:20).
Es ist nicht falsch in der syntax, so dass im nicht sicher, warum, wenn es kompiliert wird, wird es eine Fehlermeldung?
public class Reverse {
public static void main(String [] args){
int i, j;
System.out.print("Countdown\n");
int[] numIndex = new int[10]; //array with 10 elements.
for (i = 0; i<11 ; i++) {
numIndex[i] = i;//element i = number of iterations (index 0=0, 1=1, ect.)
}
for (j=10; j>=0; j--){ //could have used i, doesn't matter.
System.out.println(numIndex[j]);//indexes should print in reverse order from here but it throws an exception?
}
}
}
keine falsche syntax*
das array 10 Elemente lang. Sie Durchlaufen von 0 bis 10,, 11! das bewirkt, dass der index out of bounds error. Sie sollten wirklich numIndex.Länge in Zukunft zu verhindern, diese Art von beliebigen zahlen
ah wieder rechts sir haha. Danke @greedybuddah - neuer Typ
das array 10 Elemente lang. Sie Durchlaufen von 0 bis 10,, 11! das bewirkt, dass der index out of bounds error. Sie sollten wirklich numIndex.Länge in Zukunft zu verhindern, diese Art von beliebigen zahlen
ah wieder rechts sir haha. Danke @greedybuddah - neuer Typ
InformationsquelleAutor KamikazeStyle | 2013-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Java verwendet 0-basierten array-Indizes. Wenn Sie erstellen ein Array der Größe 10
new int[10]
es schafft 10 integer 'Zellen' im array. Die Indizes sind: 0, 1, 2, ...., 8, 9.Ihre Schleife zählt zu den index-was ist 1 weniger als 11, oder 10, und diesen index nicht vorhanden.
InformationsquelleAutor rolfl
Deklariert array an Ganzzahlen von
10 elements
. Und Sie sind der Iteration voni=0 to i=10
undi=10 to i=0
das ist11 elements
. Klar, es ist einindex out of bounds error
.Den code ändern, um dies
.
InformationsquelleAutor abhishekkannojia
Array der Größe 10, was bedeutet, es ist Wendeplatten von 0 bis 9.
numIndex[10]
ist in der Tat out of bounds. Dies ist ein grundlegendes off-by-one-Fehler.InformationsquelleAutor Yuushi
Einer
Array
in java, hat10
Elemente geht aus0
zu9
. So können Sie Ihre loops decken müssen diesen Bereich. Derzeit sind Sie gehen von0
zu10
, und10
zu0
.InformationsquelleAutor Craig