Deze opgave is het tweede deel van de Klassement-opgave.

Klassement

In deze opgave zal je, gespreid over 2 deelopgaves, een programma maken waarin je de punten van ploegen kan bijhouden om zo een winnaar te bepalen. In de vorige opgave heb je een Team-klasse gemaakt, om een ploeg voor te stellen. Nu is het de bedoeling om een Ranking-klasse te maken (een klassement).

Opgave

Maak een Java-klasse Ranking. Deze klasse stelt een klassement voor en moet minstens volgende constructor en methoden bezitten. Maak zelf de nodige instantievariabelen aan.

Constructor

De constructor van de Ranking-klasse moet volgende signatuur hebben:

Ranking(int amountOfTeams, int victoryPoints, int drawPoints);

Argumenten:

Methodes

Naast bovenstaande methodes, dien je ook nog onderstaande methodes te implementeren.

// Voegt een wedstrijd toe van de ploeg met als naam firstTeam tegen de ploeg
// met als naam secondTeam. Deze wedstijd eindigde in een gelijkspel.
void addDraw(String firstTeam, String secondTeam);

// Voegt een ploeg toe aan het klassement.
void addTeam(Team team);

// Voegt een wedstrijd toe van de ploeg met als naam teamName. Deze ploeg heeft die
// wedstrijd gewonnen.
void addVictory(String teamName);

// Geeft het aantal punten van de ploeg met als naam teamName terug. Als deze
// ploeg niet bestaat moet -1 teruggegeven worden.
int getPoints(String teamName);

// Geeft een array terug bestaande uit alle ploegen met het gegeven aantal punten,
// zie Assumpties en Tips.
Team[] getTeamsWithPoints(int points);

// Geeft een array terug bestaande uit alle ploegen met het hoogste aantal punten.
// Dit is altijd minstens 1 ploeg, maar kunnen er meerdere zijn bij een ex aequo,
// vandaar dat dit een array moet zijn. Zie Assumpties en Tips.
Team[] getWinners();

Assumpties en Tips


Hierbij nog wat uitleg over de Dodona-testen voor deze oefening: