HUOM!!! Kirjoita
kunkin tehtävän vastaus eri paperille, ja kirjoita nimesi joka paperiin.
1.
Selvitä seuraavien Javan avainsanojen merkitys lyhyesti
(1-2 virkkeellä):
(a) private
(e) continue
(b) static
(f) default
(c) this
(g) long
(d) void
(h) import
2.
Kerro, mitä tiedät Javan poikkeuksista. Mitä ne
ovat? Mikä niiden rooli on Java-ohjelmoinnin kannalta? Miten ne ilmenevät
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.
Kokonaislukutaulukon int[] t alkiot halutaan
partitioida (= jakaa) kahteen osaan parametrin x suhteen siten,
että taulukon alkuun sijoitetaan x:ää pienemmät arvot, ja loppuun
suuremmat/yhtäsuuret arvot. Kirjoita partitiointimetodi Javalla. Partitioinnin
tulos on siis seuraavan kuvan mukainen:
![]()
t < x
³
x
5.
Matemaattinen joukko on sellainen alkiokokoelma,
jossa kukin alkio esiintyy vain kertaalleen. Joukko-operaatioita ovat mm.
- tyhjän joukon
luonti,
- joukon
tyhjyystestaus,
- alkion lisäys
joukkoon,
- kahden joukon unionin
määrääminen (tulos on joukko, joka sisältää molempien alkiot,
mutta
yhteiset vain kertaalleen)
Toteuta Joukko-luokka ja siinä em. operaatiot. Joukon alkiot ovat tyyppiä
Object, ja alkioiden yhtäläisyyttä verrataan operaattorilla ==. Joukon
esitystapana voit käyttää esimerkiksi Vector-luokkaa (ks. tehtäväpaperin kääntöpuoli).