drakonia666
Grünschnabel
Halloechen zusammen,
inzwischen hat sich mal wieder ein Problem ergeben, welches ich so ohne weiteres nicht alleine geloest bekomme. Ich habe inzwischen schon einiges ausprobiert, aber wohl nicht das Richtige. Ich programmiere noch nicht sehr lange und beschaeftige mich im Moment mit ArrayLists. Zum Hintergrund des Problems: Ich habe eine ArrayList, die verschiedene Mannschaftsbegegnungen (mannschaftsPaarungen) einer Sportliga enthaelt (Mannschaftsnummer A und Mannschaftsnummer B). Da ich allerdings diese Mannschaftsnummer der Ubersichtlichkeit halber fuer die Ausgabe wieder in einen Mannschaftsnamen aendern moechte, wollte ich gern den Namen aus einer 2. ArrayList (listeDerMannschaften) mit Objekten vom Typ Mannschaft auslesen. Die Objekte vom Typ Mannschaft enthalten diverse Attribute, u.a. die Mannschaftsnummer, den Namen, Herkunft etc. In beiden Listen sind also die Mannschaftsnummern hinterlegt. Im Array mit den Mannschaften immer nur jeweils 1x (da jede Mannschaft eine eindeutige Nummer hat). In der Liste mit den Begegnungen kommen die Mannschaftsnummer mehrfach vor.
Die Ausgabe der ersten Liste sieht wie folgt aus:
3-1
2-4
2-1
4-3
2-3
1-4
Ich habe 4 Mannschaften (test1, test2, test3, test4) in meiner Mannschaftsliste, die fuer Begegnungen zusammengewuerfelt werden, wobei oben stehende Liste herauskommt. Die Ausgabe ist korrekt und nichts ist doppelt. So weit so gut. Jetzt habe ich (mit meinem begrenzten Wissen) versucht, das Ganze mit der 2. Liste zu vergleichen. Dazu habe ich folgenden Code verwendet:
Dummerweise scheint da irgendwas nicht zu stimmen, denn die Ausgabe ist ploetzlich voelliger Murks:
heim - test1
heim - test1
test3 - test1
test3 - test1
test3 - test1
test2 - test1
test2 - test1
test2 - test4
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test3
test4 - test3
test4 - test3
test2 - test3
test2 - test3
test2 - test3
test1 - test3
test1 - test3
test1 - test3
test1 - test4
Vielleicht habe ich auch den falschen Loesungsansatz oder es gibt wesentlich elegantere Methoden als die von mir benutzte. Ich waere euch sehr dankbar, wenn ihr mir bei diesem Problem weiterhelfen koenntet. Vielen Dank!
LG
drakonia666
EDIT: *narf* Ich sollte mal mehr schlafen.... Da sieht man den Wald trotz der ganzen Baeume auch wieder. Die Schleife kann so natuerlich nicht funktionieren, da die Ausgabe an der falschen Stelle war. Richtigerweise muss die Ausgabe natuerlich vor der letzten geschweiften Klammer stehen...
inzwischen hat sich mal wieder ein Problem ergeben, welches ich so ohne weiteres nicht alleine geloest bekomme. Ich habe inzwischen schon einiges ausprobiert, aber wohl nicht das Richtige. Ich programmiere noch nicht sehr lange und beschaeftige mich im Moment mit ArrayLists. Zum Hintergrund des Problems: Ich habe eine ArrayList, die verschiedene Mannschaftsbegegnungen (mannschaftsPaarungen) einer Sportliga enthaelt (Mannschaftsnummer A und Mannschaftsnummer B). Da ich allerdings diese Mannschaftsnummer der Ubersichtlichkeit halber fuer die Ausgabe wieder in einen Mannschaftsnamen aendern moechte, wollte ich gern den Namen aus einer 2. ArrayList (listeDerMannschaften) mit Objekten vom Typ Mannschaft auslesen. Die Objekte vom Typ Mannschaft enthalten diverse Attribute, u.a. die Mannschaftsnummer, den Namen, Herkunft etc. In beiden Listen sind also die Mannschaftsnummern hinterlegt. Im Array mit den Mannschaften immer nur jeweils 1x (da jede Mannschaft eine eindeutige Nummer hat). In der Liste mit den Begegnungen kommen die Mannschaftsnummer mehrfach vor.
Die Ausgabe der ersten Liste sieht wie folgt aus:
3-1
2-4
2-1
4-3
2-3
1-4
Ich habe 4 Mannschaften (test1, test2, test3, test4) in meiner Mannschaftsliste, die fuer Begegnungen zusammengewuerfelt werden, wobei oben stehende Liste herauskommt. Die Ausgabe ist korrekt und nichts ist doppelt. So weit so gut. Jetzt habe ich (mit meinem begrenzten Wissen) versucht, das Ganze mit der 2. Liste zu vergleichen. Dazu habe ich folgenden Code verwendet:
Java:
String heimMannschaft = "heim";
String gastMannschaft = "gast";
for(Spiel spiele : mannschaftsPaarungen) {
for(Mannschaft mannschaft : listeDerMannschaften) {
if (spiele.getMannschaftA() == mannschaft.getMannschaftsNummer()) {
heimMannschaft = mannschaft.getMannschaftsName();
}
if (spiele.getMannschaftB() == mannschaft.getMannschaftsNummer()) {
gastMannschaft = mannschaft.getMannschaftsName();
}
System.out.println(heimMannschaft + " - " + gastMannschaft);
}
}
Dummerweise scheint da irgendwas nicht zu stimmen, denn die Ausgabe ist ploetzlich voelliger Murks:
heim - test1
heim - test1
test3 - test1
test3 - test1
test3 - test1
test2 - test1
test2 - test1
test2 - test4
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test1
test2 - test3
test4 - test3
test4 - test3
test2 - test3
test2 - test3
test2 - test3
test1 - test3
test1 - test3
test1 - test3
test1 - test4
Vielleicht habe ich auch den falschen Loesungsansatz oder es gibt wesentlich elegantere Methoden als die von mir benutzte. Ich waere euch sehr dankbar, wenn ihr mir bei diesem Problem weiterhelfen koenntet. Vielen Dank!
LG
drakonia666
EDIT: *narf* Ich sollte mal mehr schlafen.... Da sieht man den Wald trotz der ganzen Baeume auch wieder. Die Schleife kann so natuerlich nicht funktionieren, da die Ausgabe an der falschen Stelle war. Richtigerweise muss die Ausgabe natuerlich vor der letzten geschweiften Klammer stehen...
Zuletzt bearbeitet: