Dit is een vervolg op oefening (0.3), zorg dat die volledig is afgewerkt en getest op Dodona.
Bij het aanmaken van een instantie van de klasse Student moet je zelf alle punten moet ingeven. Dit wordt nu aangepast:
- Schrijf de methode kiesPunten() die alle punten willekeurig invult met een reƫel getal tussen 8.0 en 15.0, grenzen inbegrepen.
Gebruik deze methode vanuit de constructor (in plaats van de methode leesPunten()). Zorg ervoor dat je maar \'e\'en decimaal gebruikt bij het genereren van de punten.
(Dit laatste wordt niet getest in Dodona, maar het vereenvoudigt het denkwerk.)
Voeg volgende methodes toe om informatie van de student op te vragen:
- Schrijf de logische methode isGeslaagdVoor(test) die teruggeeft of de huidige student voor de vermelde test geslaagd is (d.w.z. een punt >= 10 behaalde).
De naam van de test moet overeenkomen op hoofd-/kleine letters na.
Indien de opgegeven waarde voor de parameter test niet voorkomt in de array met testen, is de student niet geslaagd voor dit vak.
- Schrijf de methode geefTotaal() die de eindpunten voor labo teruggeeft, verrekend op 100.
De ingegeven punten staan op 20, maar voor het berekenen van het totaal wordt Java naar 50 ptn, en GUIs naar 30 ptn omgerekend.
Voor de eindpunten wordt een geheel getal teruggegeven. Hoe kan je correct afronden?
Doordenkertje (dit wordt apart getest op Dodona): indien er testen worden toegevoegd (of weggelaten) door de array's met testen en punten aan te passen,
moet je waarschijnlijk je oplossing aanpassen. Hoe kan je met een extra array de berekening zo uitwerken dat ze onmiddellijk bruikbaar is voor meer of minder testen?
De eindpunten worden ook nu naar 100 verrekend en correct afgerond.