mardi 26 mai 2015
Erste Schritte array aufsteigend sortieren und ausgeben
Posted on 08:18 by verona
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
.
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.
Vielen Dank für die Hilfe.
Grüße
dt-schulte
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:
-
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:
-
import java.io.*;
-
import javagently.*;
-
class zahlenfeld
-
{
-
throws IOException
-
{
-
int i,j=1;
-
int matrix[] = new int [10];
-
int zwischenspeicher;
-
-
BufferedReader in=
-
-
// Beginnen das array zu füllen
-
for (i = 0;i<matrix.length ;i++ ) {
-
matrix [i] = javagently.Text.readInt(in);
-
j++;
-
} // end of for
-
j--;
-
//Ausgabe in umgekehrter Reihenfolge
-
for(i = matrix.length-1;i>=0;i--) {
-
j--;
-
} // end of for
-
// Sortieren nach Zahlengröße mit anschließender Ausgabe
-
for (i=0;i<=matrix.length ;i++ ) {
-
if (matrix[i]>matrix[i+1]) {
-
zwischenspeicher = matrix[i+1];
-
matrix[i+1] = matrix[i];
-
matrix [i] = zwischenspeicher;
-
-
} // end of if
-
} // end of for
-
}
-
}
Vielen Dank für die Hilfe.
Grüße
dt-schulte
Erste Schritte array aufsteigend sortieren und ausgeben
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire