ITI0011:harjutus 07

Allikas: Kursused
Redaktsioon seisuga 1. märts 2016, kell 07:40 kasutajalt Ago (arutelu | kaastöö) (→‎Ülesanne)
Mine navigeerimisribale Mine otsikasti

Üldine

Ülesande tähtaeg: 7. - 8. märts
Kaust git'is: EX07

Lisalugemist

Ülesanne

Madisel on väga palju sõpru.
Väga väga palju.
Selleks, et kõikide nimed meelde jätta, on Madis need kenasti failidesse kirja pannud. Nüüd tahaks Madis leida oma sõpru üles perekonnanimede järgi. Kuna Madis on kuulnud, et olete kõva progeja, siis palkab ta teid (pai eest(noa ähvardusel)) tegema talle programmi, mis loeks sisse sõbrad ja võimaldaks otsida perekonnanimede järgi.

Luua klass Friend. Kõik selle klassi väljad peavad olema teiste klasside eest peidetud. Väljadele ligipääsuks on vaja luua get ja set meetodid. Klassil Friend peab olema konstruktormeetod, mis ei võta vastu ühtegi argumenti.

Klassil Friend peab olema kaks välja: names, lastName. Esimese andmetüüp on List<String> ning teise andmetüüp on String. Klassi Friend meetod String getLastName() tagastab perekonnanime, String getFullName() tagastab eesnimedest ja perekonnanimest moodustatud stringi (täisnime).
Klassi EX07 staatiline meetod String findFriendByLastName(String lastName) tagastab sõbra täispika nime.
Boonusülesanne: Juhul kui sõprade hulgas on mitu sama perekonnanimega inimest (näiteks: Bilbo Baggins ja Frodo Baggins, tagastab meetod vaid Bilbo Bagginsi täisnime, ehk, tähestikus eespool oleva nime).

Klassi EX07 meetod List<Friend> readFriendsFromFile(String fileName) loeb sisse argumendiga ette antud nimega failist loendi Madise sõpradest. Failis on sõbrad esitatud ridadena, st igal real on üks sõber ning sõbra nimed on lahutatud üksteisest tühikutega. Meetod peaks muutma failis olevad sõbrad Friend klassi objektideks.