Java ist eine weit verbreitete Programmiersprache und Arrays sind eine sehr häufige Datenstruktur in der Java-Sprache. Bei der Verwendung eines Arrays kann es manchmal zu der Ausnahme „java.lang.ArrayIndexOutOfBoundsException“ kommen, die dadurch verursacht wird, dass der Array-Index außerhalb der Grenzen liegt. Wie kann diese Ausnahme gelöst werden?
1. Einführung in Ausnahmen
„java.lang.ArrayIndexOutOfBoundsException“ ist eine von der Java-Plattform bereitgestellte Ausnahme, die beim Ausführen des Programms ausgelöst wird. Diese Ausnahme weist darauf hin, dass der Array-Index außerhalb des zulässigen Bereichs liegt, d. h., dass auf ein nicht vorhandenes Array-Element zugegriffen wird. Die Fehlermeldung teilt uns normalerweise beispielsweise den Ort (Anzahl der Zeilen) mit, an dem die Ausnahme aufgetreten ist, und die Ursache der Ausnahme :
java.lang.ArrayIndexOutOfBoundsException: Die 5
Ausnahmeinformationen sagen uns, dass an der 5. Position des Programms auf ein Element außerhalb der Grenzen des Arrays zugegriffen wurde, was dazu führte, dass das Programm diese Ausnahme auslöste.
2. Analyse der Ausnahmeursachen
Wenn wir Arrays verwenden, müssen wir häufig über Indizes auf Elemente im Array zugreifen. Array-Indizes in Java beginnen bei 0 und werden fortgesetzt, bis die Länge des Arrays um 1 reduziert wird. Bei einem Array mit der Länge 5 liegt der Indexbereich beispielsweise zwischen 0 und 4.
Wenn wir versuchen, die Array-Länge als Index zu verwenden, tritt eine Ausnahme außerhalb der Grenzen auf. Zum Beispiel:
int[] array = new int[5];
int a = array[5]; // Eine Out-of-bounds-Ausnahme wird hier auftreten
In der zweiten Codezeile versuchen wir, darauf zuzugreifen ein Array der Länge 5 Das 6. Element. Da Array-Indizes bei 0 beginnen, beträgt der maximale Index für ein Array der Größe 5 4 und nicht 5. Daher löst das Programm die Ausnahme ArrayIndexOutOfBoundsException aus.
Wenn Sie eine for-Schleife verwenden, um nacheinander auf Array-Elemente zuzugreifen, tritt ebenfalls eine Ausnahme außerhalb der Grenzen auf, wenn der Index der Schleife den Bereich des Arrays überschreitet. Zum Beispiel:
int[] array = new int[5];
for(int i=0; i<=5; i++){ //Der Wert von i ist hier der Maximalwert des Array-Index plus 1
System.out.println(array[i]); // 这里会产生越界异常
}
Der i-Wert in der zweiten Codezeile beginnt bei 0 und erhöht sich sukzessive um 1, und die Anzahl der Schleifen beträgt 6. Da der Maximalwert des Array-Index 4 beträgt, beträgt der Wert von i in der 6. Schleife 5, was den Array-Indexbereich überschreitet. Daher löst das Programm auch die Ausnahme ArrayIndexOutOfBoundsException aus. 3. Ausnahmelösungen
2. Wenn Sie eine for-Schleife verwenden, um nacheinander auf Array-Elemente zuzugreifen, stellen Sie sicher, dass der Index der Schleife den Bereich des Arrays nicht überschreitet. Sie können das Array-Out-of-Bounds-Problem vermeiden, indem Sie den folgenden Code verwenden:
int[] array = new int[5];
for(int i=0; iSystem.out.println(array[i]);
Die Schleife hier Die Anzahl ist die Array-Länge, wodurch sichergestellt wird, dass der Indexbereich des Arrays nicht überschritten wird.
3. Verwenden Sie den Try-Catch-Anweisungsblock, um Ausnahmen abzufangen.
Wenn Sie ein umfangreiches Programm entwickeln, kann es schwierig sein, Out-of-bounds-Probleme zu vermeiden. Zu diesem Zeitpunkt können Sie die Try-Catch-Anweisung verwenden, um Ausnahmen abzufangen und den normalen Betrieb des Programms sicherzustellen. Zum Beispiel:
int[] array = new int[5];
try{int a = array[5]; //这里会产生越界异常
System.out.println("数组下标越界!");
Hier wird ein Try-Catch-Anweisungsblock verwendet, um Out-of- begrenzt Ausnahmen und gibt zeitnahe Informationen.
Zusammenfassung:
Das Problem, dass der Array-Index außerhalb der Grenzen liegt, ist ein häufiges Problem bei der Programmentwicklung. Solange wir jedoch den richtigen Index verwenden oder den Indexbereich in der Schleife steuern, können wir dieses Problem effektiv vermeiden. Wenn dieses Problem auftritt, können Sie Try-Catch-Anweisungen und andere Methoden verwenden, um es zu beheben.
Das obige ist der detaillierte Inhalt vonArray außerhalb der Grenzen in Java – wie löst man java.lang.ArrayIndexOutOfBoundsException?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!