Java tehtäviä konsoli
Mureakuha
Sisällysluettelo |
Tehtävä 1 -ohjelman perustoiminnot
Kirjoita ohjelma, joka kysyy käyttäjältä valtion nimen ja tulostaa sen ruutuun.
Kirjoita ohjelma, joka kysyy käyttäjältä luvun ja tulostaa sen muutettuna kokonaisluvuksi, desimaaliluvuksi sekä sitä vastaavan ASCII-merkin.
Jos Maasta ammutaan raketti tarpeeksi suurella nopeudella, kulkee raketin ohjaajan mielestä aika hitaammin kuin Maahan jääneiden mielestä. Kaavan muodossa Maassa kuluva aika voidaan laskea seuraavasti; X = t/sqrt(1 - v*v / c*c), jossa t on raketin ohjaajan mittaama aika, v raketin nopeus ja c valonnopeus. Kirjoita ohjelma, joka laskee Maassa kuluneen ajan ja raketissa kuluneen ajan kun raketti käy mutkan seuraavissa tähdissä nopeudella, joka kysytään ohjelmassa:
- Alpha Centauri, etäisyys 4,3 valovuotta.
- Sirius, etäisyys 8,7 valovuotta.
- Tau Ceti, etäisyys 11,8 valovuotta.
Tehtävät 2 - vertailu- ja toistolauseet
Kirjoita ohjelma, joka kysyy käyttäjältä merkkejä yksi kerrallaan, kunnes käyttäjä syöttää nollan ja laskee ja näyttää merkkien ASCII-koodien yhteisarvon.
Kirjoita ohjelma, jossa käyttäjältä kysytään käyttäjätunnus ja salasana. Käyttäjällä on kolme mahdollisuutta syöttää oikea yhdistelmä, jolloin järjestelmä päästää eteenpäin. Muuten ohjelma ilmoittaa virheilmoituksella.
Kirjoita ohjelma, joka tulostaa:
- vain parilliset numerot väliltä 2 - 100.
- kolmella tai viidellä jaolliset numerot 0 - 100.
- numerot 0, 1, 2, 3, 4, 5, 10 ... 15, 20 ... 25, ... aina 95 asti.
- numerot 1 - 10, täydet kymmenet 10 - 100, täydet sadat 100 - 1000, täydet tuhannet 1000 - 10000 jne aina miljardiin asti.
Kirjoita ohjelma, jossa käyttäjältä kysytään satunnaisia kertolaskuja ja ohjelma pitää kirjaa oikeiden ja väärien vastauksista lukumäärästä. Ohjelma lopettaa laskennan negatiivisella vastauksella. Javassa satunnaislukuja tuotetaan Math.random()-metodilla (esim. double a = Math.random();) .
Tehtävät 3 - merkkitiedon ja merkkijonon käsittely
Kirjoita ohjelma, joka kysyy käyttäjältä merkkejä yksi kerrallaan ja ilmoittaa onko merkki:
- iso kirjain
- pieni kirjain
- numero
- jokin muu erikoismerkki
Ohjelma lopettaa risuaidalla eli '#'-merkillä.
Kirjoita ohjelma, joka kysyy käyttäjältä merkkejä 'a'...'z' ja 'A'...'Z' yksi kerrallaan, kunnes käyttäjä syöttää jonkin muun merkin. Ohjelma näyttää syötetyn merkkijonon kokonaisuudessaan ja laskee merkkien ASCII-koodien yhteisarvon.
Kirjoita ohjelma, joka kysyy käyttäjältä kaksi merkkijonoa ja liittää ne yhteen siten, että pitempi merkkijono on ensin ja lyhempi vasta sitten riippumatta syöttöjärjestyksestä.
Tehtävät 4 - lisää tyypeistä
Kirjoita ohjelma, joka kysyy käyttäjältä pieniä kirjaimia yksitellen ja pitää yllä taulukkoa syötettyjen merkien määrästä. Kun käyttäjä syöttää pisteen, ohjelma tulostaa koko taulukon, josta selviää kuinka monta kappaletta kutakin merkkiä syötettiin.
Muodosta Auto-luokka ja tätä luokkaa käyttävä olio. Luokka käsitää seuraavat tiedot; merkki (String), hinta uutena (long), valmistusvuosi (int), ajetut kilometrit (float), katsastettu (boolean). Määrittele ja alusta muuttuja oman autosi tiedoilla. Tulosta nämä tiedot, sekä laske tietoja hyväksi käyttäen auton tämän päivän hinta (hinta putoaa kymmenesosan joka vuosi) sekä keskimääräinen päivän ajomatka.
Toteuta CD-levyjen tietokantaohjelma, jossa on seuraava valikko:
=============================== a = lisää uusi CD b = poista CD c = selaa tietoja x = lopeta ===============================
Ohjelmassa on tilaa viidelle tietueelle. Jokaisesta levystä talletetaan 6 tietoa; koodi, esittäjä, levyn nimi, julkaisuvuosi, kokonaiskesto ja sanallinen arvostelu. Alusta käyttämättömät solut miinus-merkillä tai numerolla nolla. Ohjelman täytyy itse tunnistaa onko jokin tietue käytössä vai onko se tyhjä, eikä käytettyjen tietueiden päälle saa kirjoittaa.
Kirjoita ohjelma, jossa arvotaan lottonumeroita. Käyttäjältä kysytään ensin 7 numeroa, ohjelma arpoo satunnaisesti toiset 7 numeroa ja lopuksi näyttää kuinka monta käyttäjä sai oikein. Luo kaksi taulukkoa. Toiseen talletetaan käyttäjän numerot (esim. valitut[39], jossa 1 tarkoittaa valittua ja 0 ei valittua) ja toiseen arvotut numerot (esim. arvotut[39], jossa 1 tarkoittaa arvottua ja 0 ei arvottua). Sekä kone, että käyttäjä eivät saa valita samaa numeroa kuin yhden kerran.
Tehtävät 5 - aliohjelmat
Kirjoita metodi Boforit, joka käyttää alla olevaa taulukkoa palauttaakseen tuulennopeuden boforeina riippuen saamastaan nopeus-parametristä.
Boforia Nopeus max (m/s) Nimi ======= ================ =========== 0 0.5 Tyyni 1 1.7 Hiljainen 2 3.3 Heikko 3 5.2 Heikonlainen 4 7.4 Kohtalainen 5 9.8 Navakka 6 12.4 Kova 7 15.2 Luja 8 18.2 Raju 9 21.5 Myrsky 10 25.1 Kova myrsky 11 29.0 Ankara myrsky 12 yli 29.0 Hirmumyrsky
Kirjoita metodi MassaEnergiaksi, joka ottaa esineen massan (merkitään m) parametrina ja palauttaa sen vastaavuuden energiassa Jouleina (lasketaan e=m*c*c) ja sille pääohjelma. Jos mikroaaltouunin teho on 1000 W eli se kuluttaa energiaa 1000 Joulea sekunnissa, kuinka monta vuotta laite toimisi annetulla massalla, jos kaikki energia saataisiin käyttöön? Valonnopeus c on 299792458 m/s.
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
