Eräs viljavarastotyyppi muodostuu kahdesta viljasiilosta.
Vain ensimmäinen siilo on varustettu lastauslaittein.
Viljaa voidaan siirtää siilosta toiseen.
Laadi luokka Viljavarasto viljavaraston toteutukseksi.
Pikkuvarasto-luokkaa ei saa tässä toteutuksessa käyttää!
- public Viljavarasto(double ekaSiilo, double tokaSiilo) luo
viljavaraston, jonka siilojen vetoisuus annetaan parametreina.
Siilot ovat aluksi tyhjiä. Negatiivinen parametrin arvo
tulkitaan nollaksi.
- public double ekassaOn() palauttaa ensimmäisen siilon viljamäärän.
- public double tokassaOn() palauttaa toisen siilon viljamäärän.
- public boolean siirraViljaa(double määrä, boolean ekasta) siirtää
parametrin verran viljaa siilosta toiseen. Jos jälkimmäinen
parametri on true, siirretään ensimmäisestä siilosta toiseen,
muuten päinvastoin. Jos koko määrää ei voida siirtää, ei siirretä
mitään. Metodi palauttaa arvon false jos määrä on negatiivinen tai
siirto ei onnistunut, muuten se palauttaa arvon true.
- public boolean lisaaViljaa(double määrä)
lisää viljaa ensimmäiseen siiloon. Jos yritetään lisätä
enemmän kuin mahtuu, viljamäärää ei muuteta.
Metodi palauttaa arvon false jos määrä on negatiivinen tai
lisäys ei onnistunut, muuten se palauttaa arvon true.
- public double otaViljaa(double määrä)
ottaa viljaa ensimmäisestä siilosta. Jos pyydetään
enemmän kuin siilossa on, saadaan vain mitä on.
Arvonaan metodi palauttaa saadun viljan määrän.
Negatiivinen parametrin arvo tulkitaan nollaksi.
- public String toString() palauttaa arvonaan selkeän
merkkijonoesityksen viljavaraston tilasta.
Laadi myös pääohjelma, joka esittelee ja havainnollistaa
Viljavarasto-olioiden käyttöä.
Alunperin tämä oli väärin:
"Laadi myös pääohjelma, joka esittelee ja havainnollistaa
VirvoitusjuomaAutomaatti-olioiden käyttöä".
(16 pistettä)