/
Groups.ctxt
43 lines (43 loc) · 7.84 KB
/
Groups.ctxt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#BlueJ class context
comment0.target=Groups
comment0.text=\n\ \ Die\ Klasse\ Groups\ regelt\ die\ Datenverwaltung\ von\ Informationen\ zu\ teilnehmenden\ \n\ \ Spielgruppen\ der\ Weltmeisterschaft.\ Sie\ bezieht\ sich\ teilweise\ auf\ Methoden\ \n\ \ der\ Klasse\ Nation.\ \n
comment1.params=groupName
comment1.target=Groups(java.lang.String)
comment1.text=\n\ Konstruktor\n\ \n\ Im\ Konstruktor\ werden\ die\ Attribute\ initialisiert.\n\ \n\ Beim\ Erzeugen\ einer\ Instanz\ soll\ \u00FCber\ Parametereingabe\ der\ Gruppenname\n\ (String\ groupName)\ \u00FCbergeben\ werden.\ Dieser\ Parameterwert\ wird\ dem\ Instanz-\n\ attribut\ groupName\ zugewiesen\ (this.groupName\=\ groupName).\ Die\ Zuweisung\ ist\n\ f\u00FCr\ die\ aufzurufende\ Methode\ setGroup()\ von\ essentieller\ Bedeutung.\ \n\ \n\ Au\u00DFerdem\ wird\ eine\ neue\ HashMap\ mit\ dem\ Namen\ nations\ erzeugt.\n\ \n
comment10.params=
comment10.target=java.util.ArrayList\ getAllValues()
comment10.text=\n\ Hier\ werden\ alle\ Werte\ der\ nations\ HashMap\ ausgegeben.\n\ \n
comment11.params=nation1\ nation2\ goals1\ goals2
comment11.target=java.util.ArrayList\ setResult(java.lang.String,\ java.lang.String,\ int,\ int)
comment11.text=\n\ Ein\ Spielergebnis\ wird\ in\ einer\ ArrayList\ gespeichert\ und\ die\ Nationeninformationen\n\ bekommen\ ein\ Update.\n\ \n
comment12.params=
comment12.target=java.util.ArrayList\ getResults()
comment12.text=\n\ Die\ Resultate\ werden\ in\ einer\ ArrayList\ ausgegeben\n\ \n
comment13.params=
comment13.target=java.util.ArrayList\ getGamePossibilities()
comment13.text=\n\ Die\ Methode\ getGamePossibilities\ berechnet\ alle\ m\u00F6glichen\ Spiele\ innerhalb\n\ einer\ Spielgruppe.\ Daf\u00FCr\ werden\ drei\ ArrayLists\ ben\u00F6tigt.\ Die\ ArrayList\ \n\ savedKeys\ bekommt\ die\ Werte\ der\ vorherigen\ Methode\ getAllNations()\ zugeordnet.\n\ Sie\ beinhaltet\ also\ alle\ Keys\ bzw.\ teilnehmenden\ Nationen.\ Eine\ zweite\ \n\ ArrayList,\ die\ ebenfalls\ Strings\ beinhalten\ soll,\ wird\ erzeugt.\n\ \n\ In\ einer\ \u00E4u\u00DFeren\ For-Schleife\ wird\ ein\ Iterator\ i\ bis\ zur\ Anzahl\ von\ Eintr\u00E4gen\n\ der\ HashMap\ hochgez\u00E4hlt.\ Eine\ innere\ Schleife\ besitzt\ ebenfalls\ einen\ Iterator,\n\ der\ s\=i+1\ ist.\ Damit\ f\u00E4ngt\ die\ innere\ Schleife\ immer\ den\ n\u00E4chsten\ Wert\ (i+1)\ \n\ der\ HashMap\ ab.\ Solange\ i<nations.size()\ und\ s<nations.size(),\ werden\ in\ der\ \n\ ArrayList\ nationKeyList\ die\ i\ und\ s\ entsprechenden\ Werte\ hinzugef\u00FCgt.\ Gibt\ es\ \n\ keinen\ n\u00E4chsten\ Wert\ mehr\ (kein\ s),\ stoppen\ die\ Schleifen\ und\ in\ der\ Konsole\ \n\ wird\ die\ ArrayList\ pairings\ ausgegeben.\ \n\ \n
comment2.params=
comment2.target=void\ setGroup()
comment2.text=\ \n\ Die\ Methode\ setGroup()\ besteht\ aus\ verschiedenen\ if-Abfragen,\ welche\ die\ \n\ Inhalte\ der\ HashMap\ nations\ \u00FCber\ den\ Gruppennamen\ regeln.\ Im\ Konstruktor\ wird\n\ \u00FCber\ einen\ String\ Parameter\ der\ Gruppenname\ \u00FCbergeben.\ Dieser\ Wert\ wird\ in\ \n\ der\ Instanzvariable\ groupName\ gespeichert,\ welche\ in\ den\ if-Abfragen\ mit\ \n\ den\ tats\u00E4chlichen\ Gruppennamen\ A-H\ verglichen\ wird.\ Entspricht\ der\ Wert\ \n\ des\ groupName\ einem\ der\ Buchstaben,\ werden\ gruppenspezifische\ Informa-\n\ tionen\ in\ die\ nations\ HashMap\ eingef\u00FCgt.\ Dabei\ ist\ der\ Schl\u00FCssel\ ein\ String\ \n\ mit\ dem\ Nationennamen\ und\ der\ Wert\ ein\ Objekt\ des\ Typs\ Nation.\ Das\ Nation-\n\ objekt\ ben\u00F6tigt\ die\ Parameterwerte\ f\u00FCr\ Nationenname,\ Gesamttore\ und\ \n\ -punkte\ (Nation(String\ nationName,\ int\ nationGoals,\ int\ nationPoints)).\n\ \n\ Ist\ keiner\ der\ Buchstaben\ A-H\ gleich\ der\ Instanzvariable\ groupName,\ werden\ \n\ keine\ Inhalte\ in\ die\ HashMap\ eingef\u00FCgt.\ Mit\ der\ Methode\ addNationToGroup()\ \n\ kann\ man\ die\ HashMap\ bef\u00FCllen.\n\ \n\ WIESO\ PRIVAT\n\ Erg\u00E4nzung\ nur\ Buchstaben\n
comment3.params=nationName
comment3.target=boolean\ containsNation(java.lang.String)
comment3.text=\n\ Pr\u00FCft,\ ob\ eine\ Nation\ (ein\ Key)\ in\ der\ HashMap\ ist.\n\ \n
comment4.params=key
comment4.target=java.lang.String\ getNationInformation(java.lang.String)
comment4.text=\n\ Mit\ dieser\ Methode\ kann\ man\ alle\ Informationen\ zu\ einer\ Nation\ abfragen.\n\ Sie\ pr\u00FCft\ zun\u00E4chst\ mithilfe\ der\ containsKey()-Methode\ der\ HashMap\ Library\ \n\ \u00FCber\ eine\ if-Abfrage,\ ob\ eine\ Nation\ bzw.\ ein\ Schl\u00FCssel\ in\ der\ HashMap\ \n\ enthalten\ ist.\ Falls\ der\ Key\ enthalten\ ist,\ wird\ \u00FCber\ die\ get()-Methode\ der\n\ zugewiesene\ Wert\ aus\ der\ HashMap\ geholt\ und\ zur\u00FCckgegeben.\n\ \n\ Der\ String\ R\u00FCckgabetyp\ der\ Methode\ erwartet\ ein\ Returnstatement,\ deshalb\n\ muss\ am\ Ende\ return\ stehen.\n
comment5.params=
comment5.target=int\ getGroupSize()
comment5.text=\n\ Die\ Methode\ getGroupSize()\ liefert\ \u00FCber\ die\ size()-Methode\ die\ Anzahl\ der\ \n\ Elemente\ in\ der\ HashMap\ nations.\ \n
comment6.params=nationName\ nationGoals\ nationPoints
comment6.target=int\ addNationToGroup(java.lang.String,\ int,\ int)
comment6.text=\n\ M\u00F6chte\ man\ eine\ Nation\ einer\ Spielgruppe\ hinzuf\u00FCgen,\ hilft\ die\ Methode\ \n\ addNationToGroup()\ weiter.\ Es\ wird\ ein\ neuer\ HashMap\ Inhalt\ erzeugt,\ der\ wie\n\ zuvor\ auch\ als\ Key\ einen\ Datentyp\ String\ und\ ein\ neues\ Objekt\ vom\ Typ\ Nation\n\ als\ Wert\ erh\u00E4lt.\ \n\ \n\ Mit\ dieser\ Methode\ k\u00F6nnen\ Nationen\ zu\ jeder\ Instanz\ hinzugef\u00FCgt\ werden.\ Dabei\ \n\ spielt\ es\ keine\ Rolle,\ ob\ die\ HashMap\ bereits\ Eintr\u00E4ge\ beinhaltet\ oder\ nicht.\n
comment7.params=nationName
comment7.target=int\ removeNationFromGroup(java.lang.String)
comment7.text=\n\ Eine\ Nation\ kann\ aus\ einer\ Gruppe\ entfernt\ werden.\n\ \n
comment8.params=nationName\ newGoals\ newPoints
comment8.target=java.lang.String\ updateNationInfo(java.lang.String,\ int,\ int)
comment8.text=\n\ Ein\ Update\ zu\ den\ Details\ einer\ Nation\ kann\ man\ mit\ dieser\ Methode\ erreichen.\ \n\ Es\ werden\ String\ nationName,\ int\ newGoals\ und\ int\ newPoints\ als\ Parameter\ \u00FCber-\n\ geben.\ In\ das\ Nation-Objekt\ nationUpdate\ wird\ mithilfe\ der\ get()-Methode\ und\n\ dem\ Parameter\ nationName\ (entspricht\ einem\ Schl\u00FCssel\ der\ HashMap\ nations)\ der\n\ entsprechende\ HashMap\ Wert\ gespeichert.\ Die\ Methode\ getUpdatedInfo()\ ben\u00F6tigt\n\ 2\ Integer\ Parameter\ f\u00FCr\ Tore\ und\ Punkte,\ die\ zum\ alten\ Stand\ addiert\ werden.\ \n\ Hier\ werden\ newGoals\ und\ newPoints\ eingesetzt.\ Es\ wird\ ein\ Array\ aus\ Strings\ \n\ zur\u00FCckgeliefert.\ \n\ \n
comment9.params=
comment9.target=java.util.ArrayList\ getAllNations()
comment9.text=\ \n\ Die\ Methode\ getAllNations()\ liefert\ eine\ ArrayList,\ in\ der\ alle\ Nationen\ \n\ beinhaltet\ sind.\ So\ kann\ man\ sich\ einen\ \u00DCberblick\ verschaffen,\ welche\ \n\ Nationen\ in\ einer\ Gruppe\ zu\ finden\ sind.\ \n\ \n\ Die\ For-Each\ Schleife\ l\u00E4uft\ einmal\ alle\ Schl\u00FCssel\ der\ HashMap\ nations\ durch.\n\ Dabei\ hilft\ die\ Methode\ keySet()\ der\ HashMap\ Library.\ Jeder\ Key\ wird\ zur\ \n\ lokalen\ ArrayList\ allNationsKeys\ als\ String\ hinzugef\u00FCgt.\ Die\ komplette\ \n\ ArrayList\ wird\ am\ Ende\ der\ Methode\ zur\u00FCckgeliefert.\n\ \n\ Man\ h\u00E4tte\ an\ dieser\ Stelle\ auch\ ein\ Array\ verwenden\ k\u00F6nnen.\ Allerdings\ bietet\ \n\ die\ ArrayList\ den\ Vorteil\ beliebig\ viele\ Nationen\ zur\u00FCckzugeben.\ Problematisch\n\ w\u00E4re\ eine\ Array\ R\u00FCckgabe,\ wenn\ es\ mehr\ Nationen\ als\ Speicherpl\u00E4tze\ im\ Array\ \n\ g\u00E4be.\ Dann\ w\u00FCrden\ nicht\ alle\ Teilnehmer\ gezeigt\ werden.\ Man\ k\u00F6nnte\ dem\ vor-\n\ beugen,\ in\ dem\ man\ mit\ einer\ if-Abfrage\ in\ der\ Methode\ addNationToGroup()\n\ festlegt,\ dass\ nur\ eine\ bestimmte\ Anzahl\ an\ Nationen\ pro\ Gruppe\ erlaubt\ sind\n\ (size()-Methode).Wird\ dieser\ Wert\ erreicht,\ wird\ keine\ weitere\ Nation\ \n\ zugelassen.\n\ \n
numComments=14