[Java] ArrayIndex out of Bound Exception

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von wyldstyle, 4. Dezember 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 4. Dezember 2008
    ArrayIndex out of Bound Exception

    //Sorry es ist früh am morgen...hab vergessen den Parameter beim aufrufen anzugeben...Kopf ->Tisch




    Hi, ich bekomme bei meinem Code immer eine "ArrayIndexoutofboundsException" und finde den Fehler einfach nicht, könnte mal jemand drübergucken was da falsch ist?

    Code:
    public class NameSearch {
     public static void main(String[] args) {
     System.out.println(args[0]);
     String[] nameArray = new String[16]; 
     System.out.println("Searching for:");
     System.out.println("Names in List:");
     nameArray = new String[16]; // Array Zuweisung zu nameArray
     nameArray[0] = "Chomsky";
     nameArray[1] = "Dante";
     nameArray[2] = "Floyd";
     nameArray[3] = "Gershwin";
     nameArray[4] = "Hamming";
     nameArray[5] = "Karat";
     nameArray[6] = "Lamport";
     nameArray[7] = "Moore";
     nameArray[8] = "Needham";
     nameArray[9] = "Police";
     nameArray[10] = "Ramones";
     nameArray[11] = "Shannon";
     nameArray[12] = "Turing";
     nameArray[13] = "Ulbricht";
     nameArray[14] = "Whitesnake";
     nameArray[15] = "Zuse";
     for (int i = 0; i <= 15; i++) { //Eine Schleife von 0 bis Länge des Arrays, jeweiliger Ausgabewert ist der Wert!
     System.out.println(nameArray[i]);
     }
    
     int iterationsLinear = searchNameLinear(nameArray, args[0]); //Variablendefinition
     int iterationsDC = searchNameDivideConquer(nameArray, args[0]); //Variablendefinition
     System.out.println("Iterations needed applying linear search algorithm:"
     + iterationsLinear);
     
     System.out.println("Iterations needed applying divide and conquer algorithm:"
     + iterationsDC);
     }
    
     public static int searchNameLinear(String[] names, String searchedName) { //Methodendefinition
     int count = 0;
     int tmp = 0;
     for (int i = 0; i <= 15; i++) {
     if (names[i].equals(searchedName)) {
     System.out.println("Name "+ names[i] +" found in List");
     tmp = i;
     } else {
     count++;
     
     }
     }
     
     return tmp;
    
     }
     public static int searchNameDivideConquer(String[] names, String searchedName) { //Methodendefinitiob
     int count = 0; 
     int mitte = (int) names.length/2;
     do{
     count++ ;
    
     if(names[mitte].equals(searchedName)) {
     System.out.println("Name "+ searchedName+" found!");
     break;
     }
     else if(names[mitte].compareTo(searchedName) > 0){
     System.arraycopy(names, 0, names, 0, mitte);
     mitte = (int) (mitte / 2);
     }
     else if(names[mitte].compareTo(searchedName) < 0){
     System.arraycopy(names, mitte, names, 0, mitte);
     mitte = (int) (mitte / 2);
     }
     
     } while(count<100);
     return count; 
     } 
     
     }
    Genaue Fehlermeldung:
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.