Hey Leute,
also ich muss hier die Namen von Personen in alphabetischer Reihenfolge sortiern. Erst wird der Nachname angeschaut und wenn der gleich ist wird der Vorname angeschaut. Wenn ich das in mein vollständiges Programm einbaue, gitb er mir die Namen zwar aus, aber nicht sortiert. Kann mir da jemand weiterhelfen
Code
/**
* Die Teilnehmer werden in der gesamten Teilnehmerliste alphabetisch nach
* Nach- und Vornamen sortiert
*/
public void sortierenNachNamen() {
int i;
int anzahlTeilnehmer = 0;
TeilnehmendePerson vertauschen; //die Namen werden vertauscht
for(i = 0; i < Uebungsgruppen.MAX_ANZAHL_TEILNEHMER *
Uebungsgruppen.MAX_ANZAHL_GRUPPEN; i++) {
if(teilnehmer[i] != null)
anzahlTeilnehmer++;
}
if(anzahlTeilnehmer > 1) {
for (int j = (anzahlTeilnehmer - 1); j > 0; j--) {
for (i = 0; i > anzahlTeilnehmer; i++) {
vertauschen = teilnehmer[i];
teilnehmer[i] = teilnehmer[i + 1];
teilnehmer[i + 1] = vertauschen;
}
//wenn die Nachnamen gleich sind, vergleicht man die Vornamen
if(teilnehmer[i].getNachname().compareToIgnoreCase
(teilnehmer[i + 1].getNachname()) == 0) {
if(teilnehmer[i].getVorname().compareToIgnoreCase
(teilnehmer[i + 1].getVorname()) > 0) {
vertauschen = teilnehmer[i];
teilnehmer[i] = teilnehmer[i + 1];
teilnehmer[i + 1] = vertauschen;
}
}
}
}
}
Alles anzeigen