(20 pistettä)
Käytössäsi on luokka Alkuelain:
Älyeläin on alkueläimen kehittyneempi sukulainen. Sillä on alkueläimen ominaisuuksien lisäksi ns. älykkyysosamäärä, joka on jokin kokonaisluku välillä 1-200.
Ohjelmoi Alyelain luokan Alkuelain aliluokkana:
ä = Math.abs(a+b) % 200 + 1
(16 pistettä)
public String lueRivi()Tiedoston loppuminen ilmaistaan null-arvolla.
Käytössäsi on myös tekstitiedostojen kirjoittamisen väline, luokka Tulostiedosto. Luokalla on konstruktori Tulostiedosto(String nimi). Parametrina annetaan tiedoston nimi. Rivejä kirjoitetaan ilmentymämetodilla
public void kirjoitaRivi(String rivi)
Syottotiedosto-olion luonti ja lueRivi()-metodin kutsu voivat aiheuttaa poikkeuksen Exception. Sen sijaan luokassa Tulostiedosto poikkeuksiin on varauduttu: Virheen sattuessa saadaan asianmukainen ilmoitus ja ohjelman suoritus keskeytyy.
Laadi ohjelma JaaTiedostoKahtia. Ohjelma kysyy ensin syöttötiedoston ja kahden tulostiedoston nimen. Sen jälkeen ohjelma kirjoittaa syöttötiedoston joka toisen rivin ensimmäiseen tulostiedostoon ja joka toisen toiseen tulostiedostoon. Syöttötiedoston rivit siis kopioidaan vuorotellen tulostiedostoihin.
Ohjelman pitää siis itse käsitellä syöttötiedoston mahdollisesti aiheuttamat poikkeukset. Tulostiedostoa voi käyttää huolettomammin: se pitää itse huolen poikkeuksista.
(16 pistettä)