ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
331
331
EMPFEHLEN
-
13.01.10 18:24 #1
- Registriert seit
- Jan 2010
- Beiträge
- 2
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:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14
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...Geändert von drakonia666 (13.01.10 um 18:38 Uhr)
-
13.01.10 18:37 #2
Gibt es einen bestimmten Grund, warum du in der ersten ArrayList nicht direkt Mannschaft-Objekte verwendest? An der Performance kann es ja nicht liegen, bei nur vier Mannschaften. Dann könntest du nämlich direkt aus den Objekten die Mannschaftsnamen auslesen.
-
13.01.10 18:50 #3
- Registriert seit
- Jan 2010
- Beiträge
- 2
Hm nein eigentlich hat das keinen bestimmten Grund. Dachte mir nur, dass ich Spiele und Mannschaften voneinander trenne (also die Objekte), so dass die Liste der Begegnungen moeglichst uebersichtlich bleibt. Ansonsten muesste ich in der Liste ja z.B. Spiel1: Mannschaft mannschaftA, Mannschaft mannschaftB speichern. Wie gesagt, ich beschaeftige mich erst seit kurzem mit ArrayLists und habe von (sinnvoller) Strukturierung oder gar den Moeglichkeiten noch nicht so die Ahnung... Da es sich um eine Uebungsaufgabe handelt und die Vorgabe vorsieht, dass in der Klasse Spiel nur MannschaftA und MannschaftB hinterlegt sind, dachte ich mir dass das so hinhaut. Oder koennte ich dann dort bei den Attributen direkt auf Mannschafts-Objekte verweisen?
-
18.01.10 12:09 #4
Hi,
mache Dir am besten zuerst mal eine einfache Skizze für die Struktur. Weg vom Code, nur Struktur.
Tipp: Denke nicht "ich habe 2 Mannschaften und ein Spiel".
Denke eher
-Es gibt Spiele (allgemein)
- Woraus setzet sich ein Spiel zusammen =>
- n Mannschaftsobjekte, Dauer, Bedingungen
- Mannschaftsobjekt hat n Spieler
Usw. usw.. Diese Dinge bringst Du in Beziehung untereinander und bildest dann die Beziehung ab.
Es sollte Dir zunächst ganz egal sein, ob Du nun ArrayLists oder oder verwendest. Weg vom technischen. Denke ganz grundsätzlich und abstrakt.
Technik kommt dann, wenn Du dir über die wesentlichen Punkte ein Bild gemacht hast.
Die Beziehungen sind wichtig, wer mit wem, wer zu wem etc..
Viele Grüße, TimGeändert von tim staeglich (18.01.10 um 12:13 Uhr)
XING -- Hat Dir mein Beitrag geholfen? Dann würde ich mich über eine positive Bewertung freuen!
-
18.01.10 18:08 #5
Hi tausche mal Zeile 12 und 13. Danach sollte es gehen. Ansonsten hat Tim mit seinem Ansatz recht.
-
19.01.10 01:09 #6
- Registriert seit
- Sep 2008
- Ort
- Osnabrück (Niedersachsen)
- Beiträge
- 244
Warum erinnert mich das so an diesen Thread:
geschachtelte-arraylists-auslesen-nested-arraylist
Da arbeiten wohl zwei zusammen
-
19.01.10 13:20 #7
ist wahrscheinlich die Hausaufgabe im Informatik LK.
Naja hoffen wir für die beiden das der Prüfer kein goolge bedienen kann :-p
Ähnliche Themen
-
[C++]ReadProcessMemory Problem beim vergleichen von Werten an bestimmter Adresse.
Von Maila im Forum C/C++Antworten: 0Letzter Beitrag: 04.12.10, 15:45 -
C#, ArrayLists und ComboBoxes
Von maeg im Forum .NET CaféAntworten: 0Letzter Beitrag: 24.03.10, 09:36 -
Dickes Problem mit Arrays/Arraylists
Von bwun im Forum JavaAntworten: 3Letzter Beitrag: 29.10.04, 19:42 -
Brauche hilfe beim vergleichen
Von Lukasz im Forum PHPAntworten: 4Letzter Beitrag: 16.12.03, 19:41 -
denkfehler beim vergleichen von strings?
Von snikka im Forum PHPAntworten: 8Letzter Beitrag: 19.09.02, 15:21





Zitieren
Login





