Mõningad Java APIs sisalduvad töövahendid
Järgneva kahe praktikumi eesmärgiks on leida järgnevate
klasside/liideste
kirjeldused, tutvuda nendega ning lahendada näidisülesanded.
java.lang.String
java.lang.StringBuffer
java.lang.Integer (->Double, ...)
java.lang.Math
java.lang.Comparable
java.util.StringTokenizer
java.util.Date
java.util.Calendar
java.util.Random
java.util.Vector
java.util.Hashtable
java.util.List
java.util.Collection
java.util.Enumeration
java.util.Iterator
...
Oskused, mis tuleks omandada:
- informatsiooni kiire leidmine API kirjeldusest
- teisendused ühest tüübist teise, mähisklasside kasutamine
- lihtsate arvutuste tegemine
- sõnetöötlus, sõnepuhvri kasutamine
- aega väljendavate andmetega manipuleerimine
- juhuslike andmete genereerimine
- vektori ja paisktabeli kasutamine, iteraatorid
Ülesanded (teine harjutustund):
Koostage peameetod (main), mis sisaldaks lahendust järgmistele
probleemidele
- Kuidas teisendada etteantud täisarv sõneks (String)?
- Kuidas teisendada etteantud sõne täisarvuks (eeldusel, et
see sõne väljendab täisarvu)?
- Kuidas saada jooksvat kellaaega sõne kujul: tunnid:minutid:sekundid?
- Kuidas leida etteantud nurga siinust?
- Väljastada ruutjuurte tabel arvude 0 kuni 20 jaoks
(sammuga 1).
- Vahetada etteantud sõnes suurtähed väiketähtedega ja
vastupidi. Kasutage vahetulemuste salvestamiseks sõnepuhvrit (StringBuffer)
- Muuta etteantud sõne sümbolite järjekord vastupidiseks.
- Leida sõnade arv etteantud sõnes (sõnade eraldajaks olgu
tühik).
- Leida kahe etteantud ajahetke vahe millisekundites.
Ülesanded (kolmas harjutustund):
- Genereerida juhuarvudest vahemikus 0 kuni 999 (Integer)
koosnev 100-elemendiline vektor (Vector).
- Leida selle vektori suurim element (edasijõudnud: proovige
kirjutada natuke üldisem meetod, mis leiab List-liidest
rahuldava objekti [mida vektor ka on] suurima elemendi eeldusel, et
elemendid on võrreldavad liidese Comparable mõttes [mida Integer
isendid ka on]).
- Moodustada paisktabel (Hashtable) umbes 5
elemendiga,
milles võtmeks on õppeaine kood (String) ja elemendiks
õppeaine
nimetus (String).
- Väljastada selle paisktabeli kõik võtmed kasutades Enumeration-liidest.
- Eemaldada üks ainetest tabelist.
- Väljastada kõik paarid "võti - väärtus" kasutades võtmete
genereerimiseks meetodit keys() ning väärtuste leidmiseks
meetodit get(võti).
- Muuta genereeritud vektori elementide järjekord vastupidiseks.
Kontrollige tulemuse õigsust!
- Koostada veel üks maksimumi leidmise meetod, mis kasutaks
liideseid Iterator ja Comparable. Selle meetodi
poole pöördumiseks võite kasutada vektorit, millele vastava iteraatori
saab meetodiga iterator() [vektor rahuldab liidest Collection].
Jaanus Pöial, 2005