2. kontrolltöö näidisülesanded

Järgnevad ülesanded ei moodusta ühte tervet komplekti, vaid annavad teatud ettekujutuse võimalikest ülesannetest. Tegelikult on ühes konkreetses kontrolltöös rida erinevaid ülesandeid, mille lahendusteks tuleb luua hulk klasse. Erinevate isendite loomist ja meetodite rakendamist jms. tuleb demonstreerida peaklassis, mis on kogu kontrolltöö jaoks ühine.

Kontrolltöö põhineb järgmistel praktikumidel
Kindlasti on taustaks vaja ka teadmisi ja oskusi praktikumidest 1-6.

Näidisülesannetena võib käsitleda ka kõiki nende praktikumide harjutusülesandeid.

Ülesanne

Koostada erindiklass BaidistSuuremaTaisarvuErind, mis seatakse siis, kui klaviatuurilt sisestatud täisarv on suurem kui maksimaalne Byte-tüüpi väärtus. (Klass Byte on mähisklass.) Peaklassis näha ette selle erindi püüdmine ja vastava teate väljastamine.

Ülesanne

Koostada erindiklass EiTasuParandadaErind. Luua klass Auto, mis sisaldab String-tüüpi isendivälja auto registrinumbri jaoks, int-tüüpi isendivälja auto vanuse (aastates) jaoks ning boolean-tüüpi välja, mis näitab, kas auto on katki. Samuti on konstruktor, mis väärtustab vastavad väljad. Võiks olla ka meetod toString. Konstruktoris seatakse EiTasuParandadaErind, kui auto on katki ja selle vanus on suurem kui 15 aastat. Ühise peaklassi peameetodis luua vähemalt kaks Auto isendit, püüda tekkinud erindid kinni ning kuvada nende (nii autode kui ka erindite) info.

Ülesanne

Koostada klass, milles on  meetodid etteantud tekstifailist kõigi "ma"-ga lõppevate sõnade arvu leidmiseks. (Alternatiiv: tekst võetakse veebilehelt.) Peaklassis demonstreerida nende meetodite rakendamist.

Ülesanne

Ühisesse peaklassi koostada meetod, mis argumendina antud failis asendab  paarisarvulise indeksiga baidid väärtustega 0xff ja paarituarvulise indeksiga baidid väärtustega 0x00. Näide baidi väärtustamisest

byte paarisArvuline = (byte) 0xff;

Faili modifitseerimiseks kasutada RandomAccessFile, mille meetodiga seek saab muuta loetava/kirjutatava baidi indeksit.

Ülesanne

Veebilehel seatakse iga kasutaja e-maili aadressiga vastavusse kasutajakonto. Koostada klass Kasutajakonto, millel on String-tüüpi isendiväljad kasutaja ees- ja perekonnanime jaoks, konstruktor ja toString meetod. Valida sobiv andmestruktuur e-mail-konto vastavuse realiseerimiseks (aadresside jaoks eraldi klassi pole vaja luua, need on String tüüpi muutujad). Luua vähemalt kolm kasutajakontot ja sisestada need loodud andmestruktuuri, igaüks oma aadressi juurde. Kontrollida ja väljastada ekraanile, kas e-mailile "oop@ut.ee" vastav konto leidub struktuuris. Võtta andmestruktuurist oma valitud aadressi järgi üks kasutajakonto ja väljastada selle andmed. 

Ülesanne

Sadam on nii väike, et seal on ainult üks randumiskoht. Järgmised paadid kinnituvad järjest eelmise külge. Esimesena saab lahkuda viimasena tulnu, teisena eelviimasena jne. Koostada klass Paat, milles on String-tüüpi isendiväli paadi nime jaoks. Ühises peaklassis luua vähemalt neli paati. Valida sadama tarbeks sobiv andmestruktuur ja luua peaklassis üks sadam. Paigutada paadid sadamasse. Väljastada kõige maapoolsema paadi andmed. Kaks viimasena tulnud paati lahkuvad. Väljastada sadamas olevate paatide arv.