mercredi 29 avril 2015

Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

Hallo alle miteinander!
Ich habe mich an einem Sorierungsalgrythmus versucht und habe als Anfänger nun ein Problem:
Die Konsole öffnet sich und ich kann die erste Zahl eingeben und dannach gibt die Konsole diese Hieroglyphen (zumindest in meinen Augen) aus:

Bitte geben Sie nun 5 Zahlen ein welche sie je mit dem drücken der Entertaste bestätigen.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at sortieren.main(sortieren.java:27)
C:\Users\Ledex\Desktop\Sortierung>Pause
Drücken Sie eine beliebige Taste . . .

Könnt ihr mir da irgentwie helfen? Ich habe schon gesehen, dass der Fehler wahrscheinlich bei "int b = datensatz[r];" liegt, jedoch habe ich noch keinen Weg gefunden ihn zu beheben. Unten findet ihr auch nochmal den kompletten Code.

Viele Grüße und bald einen schönen ersten Mai:
Ledex


Java Code:

  1.  
  2. public class sortieren
  3. {
  4.  
  5. public static void main(String[] args)
  6. {
  7. int[] datensatz = new int[5];
  8. System.out.println("Bitte geben Sie nun 5 Zahlen ein welche sie je mit dem drücken der Entertaste bestätigen.");
  9. String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" );
  10. datensatz[0] = Integer.parseInt(s);
  11. datensatz[1] = Integer.parseInt(s);
  12. datensatz[2] = Integer.parseInt(s);
  13. datensatz[3] = Integer.parseInt(s);
  14. datensatz[4] = Integer.parseInt(s);
  15. //sort(datensatz,5);
  16.  
  17. int n = 5;
  18. int[] sort = new int[n];
  19. int x = 0;
  20. int i = 0;
  21. int r = 0;
  22. for (i=1;i<n++;i++)
  23. {
  24. x = 0;
  25. for (r=0;r<n++;r++)
  26. {
  27. int a = datensatz[i];
  28. int b = datensatz[r];
  29. if (a > b)
  30. {
  31. x++;
  32. } // end of if
  33. } // end of for
  34. sort[x] = datensatz[i];
  35. } // end of for
  36. System.out.println(sort[0]);
  37. System.out.println(sort[1]);
  38. System.out.println(sort[2]);
  39. System.out.println(sort[3]);
  40. System.out.println(sort[4]);
  41. }


Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

0 commentaires:

Enregistrer un commentaire