1. Selvitä seuraavat olio-ohjelmointiin/Javaan liittyvät käsitteet lyhyesti (parilla virkkeellä):
(a) esiintymämuuttuja,
(b) staattinen metodi,
(c) arvoparametri,
(d) ylikuormitus.
2. Mitä tiedät Javan tyyppimuunnoksista? Millaisia tyyppimuunnoksia on
mahdollista tehdä? Mitä tyyppimuunnos tarkoittaa? Missä tilanteissa
tyyppimuunnoksia tehdään Java-ohjelmissa?
3. Merkkijono x on toisen merkkijonon y alijono, jos x:n
merkit löytyvät y:stä samassa järjestyksessä, mutta ei välttämättä
peräkkäin. Esimerkiksi merkkijonon LUENTOSALI alijonoja ovat mm. LENTO,
TOSI, ESA, UNI ja OSA;
sen sijaan esim. TULI ja LASI eivät ole, vaikka merkit löytyvätkin
kohdejonosta, sillä ne eivät esiinny siinä oikeassa järjestyksessä. Kirjoita
Java-metodi, joka testaa, onko merkkijono toisen merkkijonon alijono.
[Tehtäväpaperin kääntöpuolella on String-luokan kuvaus.]
4. Kirjoita metodi, joka poistaa parametrina annetusta kokonaislukutaulukosta duplikaatit eli saman arvon toistuvat
esiintymät. Tulostaulukkoon otetaan siis mukaan kukin arvo vain yhden kerran.
Metodi ei saa muuttaa syötetaulukkoa ja sen tulee palauttaa tulostaulukko
kutsuvaan ohjelmaan. Esimerkki:
Syöte: {2, 5, 3, 9, 2, 7,
7, 2, 4}, tulos: {2, 5, 3, 9, 7, 4}
5. Kirjoita luokka LottoRivi, jonka kukin esiintymä edustaa tietysti
lottoriviä. Lottorivi sisältää 7 erisuurta kokonaislukua väliltä 1..39. Laadi
luokkaan ainakin seuraavat metodit:
- satunnaisen lottorivin
generointi,
- tarkastettavan lottorivin
vertaaminen oikeaan lottoriviin, ja oikeiden numeroiden
määrän palauttaminen kutsujalle,
- lottorivin palauttaminen
kutsujalle merkkijonomuodossa (ns. toString() -metodi).
Satunnaisen rivin generoinnissa voit käyttää java.lang-pakkauksesta löytyvää
satunnaislukugeneraattoria Math.random(), joka tuottaa kutsuttaessa
aina yhden double-tyyppisen satunnaisluvun väliltä [0, 1).
Huom1. Suomen lottopelissä
käytettäviä lisänumeroita ei tässä tarvitse ottaa huomioon.
Huom2. Ei ole välttämätöntä
esittää lottoriviä numerojärjestyksessä.
Huom3. Voit valita lottorivin
esitystavaksi joko taulukon tai vektorin; Vector-luokan
kuvaus löytyy
tehtäväpaperin kääntöpuolelta.
Huom4. Integer-luokasta löytyy staattinen metodi toString(int
n), joka tuottaa n:n arvon
merkkijonomuodossa.