Deze oefening werkt verder in het project Klasgegevens uit reeks 0 en 1.
Omdat we verder bouwen op specifieke code uit de klasse Student.java, is het aangeraden te vertrekken van de juiste code. Controleer of jouw code overeenkomt en zo niet, kopiëer en plak dan de code van de klasse Student1 in jouw bestand - voeg zelf import en package toe.

In deze voorbereidende oefening wordt de klasse Student aangepast.
Zowel de array met de namen van de testen, als de gewichten voor de testen zijn hardgecodeerd. Dit wordt nu aangepast:

  1. Schrijf de statische methode initTesten(String testlijn, String gewichtenLijn).
    De eerste parameter is een string die alle testen opsomt, gescheiden door kommapunten(;). Bovendien zijn de drie eerste deeltjes geen testen, bijvoorbeeld "Naam;Leeftijd;Richting;Java;Guis;Databanken". De tweede parameter bevat de gewichten, bijvoorbeeld ";;;50;30;20", met ook hier vooraan drie kommapunten teveel.
    Deze methode moet de array met testen invullen en de tweede array initialiseren met de bijhorende gewichten.
    • Je oplossing moet ook correct werken wanneer er meer of minder testen opgesomd zijn in parameter testlijn.
    • Er staat meer informatie in de string-variabele dan je nodig hebt. De drie eerste gegevens zijn geen testen. Gebruik een methode van de klasse Arrays die je enkel vindt in de online-API.
    • De array die de gewichten bevat is niet van het type String. Gebruik nu de Scanner-klasse, waarbij je ";" als 'delimiter' instelt om de gewichten als getal te kunnen inlezen.
    Roep in het hoofdprogramma deze methode correct aan. Merk op! Dodona zal ook controleren of je oplossing correct werkt indien er meer/minder testen in het bestand staan. Je mag wel veronderstellen dat de drie eerste kolommen altijd dezelfde gegevens bevatten.
  2. Schrijf de methode addPunten(String lijn). De parameter van deze methode is een String die de punten opsomt, gescheiden door ; zoals hieronder getoond wordt
    "9,8;10,6;15" 
    Vul deze punten in voor deze student.

    Allicht werkt dit onmiddellijk naar behoren in NetBeans. Het zou echter kunnen dat de instellingen van je Scanner-klasse toch een decimale punt in plaats van een decimale komma verwacht in een reëel getal. In dat geval zal je foutmeldingen krijgen. Om dit te vermijden (en ook omdat Dodona's instellingen een decimale punt verwachten in plaats van een decimale komma), passen we de instelling van de scanner sowieso aan. Als de scanner de naam sc kreeg, dan voeg je vlak na declaratie en initialisatie van de scanner volgende regel code toe:

    sc.useLocale(Locale.FRENCH);

    Controleer in het hoofdprogramma of de punten correct zijn ingevuld.

Bij indienen op Dodona moet je alle code van de klasse Student indienen.