mardi 26 mai 2015

Erste Schritte array aufsteigend sortieren und ausgeben

Hallo liebe Forengemeinschaft :)

Ich bin seit ein paar Tagen dabei, Java zu lernen und hänge gerade an einem Problem, bei dem ihr mir sicher helfen könnt.

Ich habe als Aufgabenstellung: Füllen Sie ein eindimensionales array mit 10 Zahlen. Geben Sie diese Zahlen in umgekehrter Reihenfolge aus. Bis hierhin klappt auch alles.
Dann kommt die Zusatzaufgabe, Sortieren Sie die Zahlen der Größe nach und geben Sie die sortierten Zahlen erneut aus. Hier kommt leider nicht das erwartete Ergebnis raus. Er scheint eine Zahl zu tauschen, aber dann bricht er ab mit der Fehlermeldung: IndexOutofBoundsException: 10 in Zeile 31. Zeile 31 lautet
Java Code:

  1. if (matrix[i]>matrix[i+1]) {
.

Mir ist klar, das ich ausserhalb der Menge des arrays bin..aber ich weiß nicht wie ich drin bleibe :)
Vielleicht kann mir ja jemand von euch sagen, wo mein Fehler im Code ist.
Java Code:

  1. import java.io.*;
  2. import javagently.*;
  3. class zahlenfeld
  4. {
  5. public static void main(String args[])
  6. {
  7. int i,j=1;
  8. int matrix[] = new int [10];
  9. int zwischenspeicher;
  10.  
  11.  
  12. System.out.println("Bitte geben Sie 10 Zahlen ein");
  13. // Beginnen das array zu füllen
  14. for (i = 0;i<matrix.length ;i++ ) {
  15. System.out.println("Bitte geben Sie die " +j+" te Zahl ein");
  16. matrix [i] = javagently.Text.readInt(in);
  17. j++;
  18. } // end of for
  19. j--;
  20. //Ausgabe in umgekehrter Reihenfolge
  21. for(i = matrix.length-1;i>=0;i--) {
  22. System.out.println("\n Die Zahl in Feld: "+j+" lautet: "+matrix[i]+ "\n");
  23. j--;
  24. } // end of for
  25. // Sortieren nach Zahlengröße mit anschließender Ausgabe
  26. for (i=0;i<=matrix.length ;i++ ) {
  27. if (matrix[i]>matrix[i+1]) {
  28. zwischenspeicher = matrix[i+1];
  29. matrix[i+1] = matrix[i];
  30. matrix [i] = zwischenspeicher;
  31.  
  32. } // end of if
  33. System.out.println(matrix[i]);
  34. } // end of for
  35. }
  36. }


Vielen Dank für die Hilfe.

Grüße

dt-schulte


Erste Schritte array aufsteigend sortieren und ausgeben

0 commentaires:

Enregistrer un commentaire