Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo ich habe folgendes Programm geschrieben und erhalte immer folgende Fehlermeldung:
Code:
package package5;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.util.Arrays;
public class uebung1 {
public static void main(String[] args) {
try{// try and catch sind für die Einlesung und den Fehlerfang notwendig.
FileReader fr = new FileReader("C:\\Zahlen.txt");// Einlesen der ganzen Textdatei
BufferedReader br=new BufferedReader(fr);//Einlesen von Datei Zeilenweise
StreamTokenizer st = new StreamTokenizer(br);//Zerlegung von Zeile zu Token
String s;int []zeile=new int[5];int i=0;
while(st.nextToken() != StreamTokenizer.TT_EOF){ // Zerlegung von Zahlen und wörtern.
switch (st.ttype){
case StreamTokenizer.TT_NUMBER:
{ zeile[i] =(int) st.nval;i++; break;} // Zahlen
case StreamTokenizer.TT_WORD:
{ s = st.sval; break; }// falls man die Wörter zählen möchte
default: break;}
}
int a=zeile.length;
System.out.println("Unsortierete Reihenfolge");
for(i=0;i<zeile.length;i=i+1){
System.out.println("zeile["+i+"]=" + zeile[i]);// unsortierte Reihenfolge
}
Arrays.sort(zeile);// Sortierung von Arraydatei von der kleineren zur großeren Zahl
System.out.println("sortierte Reihenfolge");
for(i=0;i<zeile.length;i=i+1){
System.out.println("zeile["+i+"]=" + zeile[i]);
}
br.close();// hiermit wird die Einlesung beendet
}
catch (FileNotFoundException e ) {System.out.println("keine Datei");}
catch (IOException e){System.out.println("E/A- Fehler");}
}
}
Fehlermeldung: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at package5.uebung1.main(uebung1.java:21)
hm, in Zeile 21 läuft wahrscheinlich irgend ein Index über die Länge eines Arrays hinaus... könntest du mal bitte noch die code-tags setzen? Würde das ganze bisschen übersichtlicher machen und Fehlersuche vereinfachen...
du hast einen Array der Länge 5, willst aber einen wert am Index 5 speichern. Da Java mit 0 die Zählung beginnt gibt es keinen Index 5 in deinem Array, ergo ArrayIndexOutBlablabla