Hallo und guten morgen
ich hoff ihr könnt mir schnell bei meinem Problemchen helfen. Muss morgen mein programm abgeben, klappt "eigentlich" alles, nur....
nunja unsre aufgabe war es, teilnehmer(mit namen,vornamen,..)aufzunehmen (klappt!) sie dann in gruppen einzuteilen(klappt) und DANN eine Liste auszugeben auf wunsch, in der alle teilnehmer nach nachnamen (und bei gleichem nachnamen,nach vornamen) sortiert sein sollen. Und das macht er mir nicht. jedes mal wenn ich den Befehl eingebe, er soll mir die Liste ausgeben, kommt eine fehlermeldung.
was fehlt, oder gar stimmt nicht.
man hat mir auch schon gesagt ne zweite schleife müsst her, habe jedoch keinen plan warum und vorallem wohin.
andre sagen mit if else wurds auch gehen, nur hab ich da das selbe problem....
hilfe.
danke
ich hoff ihr könnt mir schnell bei meinem Problemchen helfen. Muss morgen mein programm abgeben, klappt "eigentlich" alles, nur....
nunja unsre aufgabe war es, teilnehmer(mit namen,vornamen,..)aufzunehmen (klappt!) sie dann in gruppen einzuteilen(klappt) und DANN eine Liste auszugeben auf wunsch, in der alle teilnehmer nach nachnamen (und bei gleichem nachnamen,nach vornamen) sortiert sein sollen. Und das macht er mir nicht. jedes mal wenn ich den Befehl eingebe, er soll mir die Liste ausgeben, kommt eine fehlermeldung.
was fehlt, oder gar stimmt nicht.
man hat mir auch schon gesagt ne zweite schleife müsst her, habe jedoch keinen plan warum und vorallem wohin.
andre sagen mit if else wurds auch gehen, nur hab ich da das selbe problem....
hilfe.
danke
Code:
private TeilnehmendePerson[] sortiereTeilnehmerlisteNurNachNachnamen(TeilnehmendePerson[] zuSortierendeListe) {
TeilnehmendePerson[]sortBereich = null;
/*
* schaut nach ob die nachnamen schon sortiert sind, ansonsten werden sie sortiert
*/
sortBereich = new TeilnehmendePerson [zuSortierendeListe.length];
System.arraycopy(zuSortierendeListe, 0, sortBereich, 0, zuSortierendeListe.length);
int i,j;//Variablen die man zum vergleichen braucht
TeilnehmendePerson teilnehmer;
/*
* sobald man mindestens zwei namen eingegeben hat, wird mit dem sortieren angefangen.
*/
for ( i=0; i<sortBereich.length-1; i++) {
teilnehmer = sortBereich[i];
j=i;
/*
* es wird nach nachnamen geschaut und sortiert
*/
while (sortBereich[j-1].getNachname().compareToIgnoreCase(teilnehmer.getNachname())<0) {
sortBereich[j]=sortBereich[j-1];
j--;
}
sortBereich[j]=teilnehmer;
}
//der erste teilnehmer wird dann ausgeschlossen und nicht wieder verglichen.
System.arraycopy(sortBereich, 1, zuSortierendeListe, 0, zuSortierendeListe.length);
return zuSortierendeListe ;}