Open het gegeven project
GecodeerdBestand en het bestand
bitpatroon.txt dat je daar vindt.
Merk op dat het bestand getallen bevat in octale, decimale en/of hexadecimale vorm.
Wélke vorm gebruikt wordt, kan je afleiden uit de prefixen:
- start het getal met een cijfer verschillend van nul, dan staat het in decimale vorm.
- start het getal met Ox, OX of # dan staat het in hexadecimale vorm.
- start het getal met een (anders overbodige) 0, dan staat het in octale vorm.
De klasse Bestandenlezer voorziet in enkele methodes om de inhoud van een gegeven bestand te verwerken.
Overloop eerst de drie methodes en kijk na of je alle code verstaat. (Kom je iets nieuws tegen? Zoek op in de online API om dit te verstaan.)
Laat het programma lopen.
- Je ziet dat het bestand niet gevonden wordt, maar dat deze fout ook niet wordt opgevangen. Zorg ervoor dat dit wel gebeurt. Daarna haal je de drie dollartekens uit de bestandsnaam bitpatroon$$$.txt weg, zodat het bestand wel gevonden wordt.
- Welke fout krijg je nu? Ga na waar de methode somVanDoubles een exceptie opwerpt,
zodra er een stuk tekst in het bestand zit dat niet als double geïnterpreteerd kan worden.
Vang op in het hoofdprogramma, maar zo lokaal mogelijk. Indien de methode somVanDoubles fouten opwerpt, mag enkel het gerelateerde stuk code
(nl. het uitschrijven van die som) overgeslagen worden. Het uitschrijven van de volgende som (nl. die van gecodeerde getallen) moet wel nog uitgevoerd worden.
- Nu krijg je nog een laatste fout die te maken heeft met de som van gecodeerde getallen. Deze fout los je anders op.
In plaats van de som van gecodeerde getallen niet te berekenen, negeer je enkel die input die niet in de juiste vorm staat. De som van de gecodeerde getallen zou dan 290414 moeten zijn.
Upload eerst de klasse Bestandenlezer. Om Dodona toe te laten ook je hoofdprogramma te testen, knip en plak je dat nadien in de klasse Bestandenlezer (zie invulvenster).