Sortieren mit Java

pizza_slimer

Grünschnabel
Hallo !

ich habe folgendes Problem:

Ich möchte, dass die Buchstaben in einem Wort sortiert werden.
Aber der sortiert nur die ersten Buchstaben miteinander.

Der beginnt mit dem "sortieren" nach dem man ein Wort in dem Textfeld eingegeben und dann auf Enter gedrückt hat. Die Befehle innerhalb dieser "Action-Methode" habe ich reinkopiert:


a = textField1.getText(); //übernimmt das Wort
b = textField1.getText(); //und speichert das in a und b
label1.setText("Eingegebene Zeichen: "+a); // gibt das Wort nochmal aus
i = a.length();
label2.setText("Anzahl der Zeichen : "+i); //gibt die Länge des Wortes aus
char[] zeichen = a.toCharArray(); //macht aus dem Wort ein
//"Buchstabenarray"



for (int k=0; k<i;k++)
{

char a = zeichen[k]; //geht jedes Index durch
char b = zeichen[k];
warte(1000);
String text = label3.getText();
label3.setText(text + " " + a +" "+ k); //gibt durch warte() im 1-Sekundentakt
//die Buchstaben nacheinande aus

for (int n=0;n<i-(k+1);n++) //ich weiß nicht warum i-(k+1), hab ich von einer Seite
{

if (zeichen[n] > zeichen[n+1]) { //ist der erste Buchstabe größer als der zweite

a = zeichen[n];
b = zeichen[n+1];
a = b;
a = zeichen[n];
//String text1 = label4.getText();
label4.setText(" "+b+" "+a); //dann vertausche
}

else { //wenn nicht dann gibt normal den ersten aus
a = zeichen[n];
label4.setText("" + a);
}

}
}

Man hat mir schon sämtliche Sortieralgorithmen gezeigt. Der Bubblesort funktioniert nach dem selben Prinzip. Es werden aber nur die ersten beiden Buchstsaben mit einander verglichen. Vielleicht liegt der Fehler in der Ausgabe..?

Das ist bestimmt ein ganz dummer Fehler ich merks schon...
 
Zuletzt bearbeitet:
Also im Moment hat das mit Sortierung noch gar nichts zu tun.

Schau dir doch mal http://de.wikipedia.org/wiki/Quicksort an.

Dort ist das ganze in Pseudocode programmiert und lässt sich auch leicht in Java umsetzen.

Wenn dus nicht selber implementieren musst geht auch Arrays.sort(array).
 
Also soll ich den Befehl Arrays.sort(array) nur anstatt array , zeichen in der for-Schleife einfügen ? Hab ich gemacht, aber dann gibt der komische Zeichen mit nem @ aus...

Wenn ich (ich benutze den JBuilder) einen Ordner "demo" mit Beispielklassen gefunden hab, wie kann ich diese denn in meinem Applet benutzen ?
 
Zuletzt bearbeitet:
Um das Array wieder in einen String umzuwandeln musst du Arrays.toString(array) benutzen. Ansonsten kriegst du nur die Speicheradresse des Arrays angezeigt.
 
Zurück