Basiliskon perimä on String-olio. Basiliskot lisääntyvät vain pariutumalla. Lapsi saa jomman kumman vanhempansa perimän sellaisenaan. Todennäköisyys molemmille on yhtä suuri. Perimän arvonnan voi suorittaa lauseella if (Math.random()<0.5) ...
Mallinna basilisko luokkana Basilisko, jossa kaikki kentät ovat luonnollisesti private, ja jossa on julkiset välineet (konstruktori ja aksessorit):
Esimerkki: (juuri näin pitää tulostaa: olion järjestysnumerokin kuuluu siis tulostusasuun, kolmas tulostus voi tietenkin olla joko "(3): Maija" tai "(3): Matti")
Basilisko isä = new Basilisko("Matti");
Basilisko äiti = new Basilisko("Maija");
Basilisko lapsi = isä.pariudu(äiti);
System.out.println(isä); // tulostus: (1): Matti
System.out.println(äiti); // tulostus: (2): Maija
System.out.println(lapsi); // tulostus: (3): Maija
(12 pistettä)
Esimerkki: (juuri näin pitää tulostaa: olion järjestysnumerokin kuuluu siis tulostusasuun)
TuplaBasilisko äijä = new TuplaBasilisko("Kalle"); // numero 1
TuplaBasilisko ämmä = new TuplaBasilisko("Kaija"); // numero 2
TuplaBasilisko pentu = ämmä.pariudu(äijä);
System.out.println(pentu); // tulostus: (3): KaijaKalle
(12 pistettä)
(15 pistettä)
Muodostettuaan yllä kuvatulla tavalla itselleen sanakirjan ohjelma tarjoaa käännöspalvelun: Kun käyttäjä kirjoittaa sanan alkukielellä, ohjelma joko kertoo sanan käännöksen tai ilmoittaa, että kysytty alkukielinen sana oli tuntematon. Suunnittele ja toteuta itse ohjelman loppuminen.
Jos haluat, voit käyttää (mutta ei ole pakko!) luokan Hashtable<K,V> ilmentymää tietorakenteena. Jos et käytä Hashtable<K,V>-oliota, voit olettaa, ettei tiedostossa ole enempää kuin 10000 sanaa. Jos käytät Hashtable<K,V>-rakennetta, seuraavasta API-kuvauksen osasta voi olla hyötyä:
public Hashtable<K,V>() luo tyhjän Hashtable-olion, joka kuvaa K-tyyppisiä olioita V-tyyppisiksi olioiksi
(14 pistettä)