|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object demo.Astia
public class Astia
John McLane (Bruce Willis) joutui elokuvassa Die Hard 3 ongelman eteen,
jossa piti kahdella vesikanisterilla mitata jonkin muun suuruinen
vesimäärä "tarkasti" ja näin estää pommin räjähtäminen.
Koska aika meni varsin tiukalle, on vastaavien tilanteiden harjoittelemiseksi
nyt tehty uusi menestysohjelma "Astia".
Pelillä demonstroidaan/harjoitellaan miten voidaan kahdella astialla,
5 l ja 8 l, muodostaa kaikki mahdolliset tilavuudet 1-13 l.
Pelissä on kaksi varsinaista astiaa: a5 ja a8, sekä kolmas apuastia
ampari. Nestettä voidaan kerrallaan kaataa yhdestä astiasta toiseen
joko siten, että astian koko sisältö tyhjennetään jos se mahtuu
tai astista kaadetaan sen verran että toinen astia tulee täyteen.
Tee ohjelma jota voitasiin käyttää seuraavasti:
Käytössäsi on 8 ja 5 litran astia ja Ämpäri (100 l) 8 litran astiassa on 0 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >ä 8[ret] 8 litran astiassa on 8 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >8 5[ret] 8 litran astiassa on 3 litraa 5 litran astiassa on 5 litraa Mistä kaadetaan ja mihin >5 ä[ret] 8 litran astiassa on 3 litraa 5 litran astiassa on 0 litraa Mistä kaadetaan ja mihin >8 5[ret] 8 litran astiassa on 0 litraa 5 litran astiassa on 3 litraa Mistä kaadetaan ja mihin >[ret]
Field Summary | |
---|---|
private double |
maara
|
private java.lang.String |
nimi
|
private double |
tilavuus
|
Constructor Summary | |
---|---|
Astia(java.lang.String nimi,
double tilavuus)
Alustaa uuden astian tietyn kokoiseksi ja luonnollisetsi tyhjäksi |
Method Summary | |
---|---|
double |
getMaara()
Palautetaan nsteen määrä astiassa |
java.lang.String |
getNimi()
Palautetaan astian nimi |
double |
getTilavuus()
Palautetaan astion tilavuus |
double |
getTyhjaa()
Palautetaan astiossa olevan vapaan tilan määrä. |
void |
kaada(Astia astia)
Kaataa tästä astiasta (this) toiseen astiaan niin paljon kuin toiseen mahtuu tai tästä astiasta on antaa. |
void |
kaada(double lisa)
Kaataa astiaan joko lisää tai vähentää, yli ei saa mennä eikä pakkasen puolelle |
static void |
main(java.lang.String[] args)
Testaan astioita |
boolean |
oletko(java.lang.String mika)
Tutkitaan onko astian nimi etsitty |
void |
tayta()
Täyttää astian piripintaan asti |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.lang.String nimi
private final double tilavuus
private double maara
Constructor Detail |
---|
public Astia(java.lang.String nimi, double tilavuus)
nimi
- uuden astian nimitilavuus
- uuden astian tilavuusMethod Detail |
---|
public void tayta()
public void kaada(double lisa)
lisa
- astiaan laitettava tai otettava nestemääräAstia astia5l = new Astia("5l",5); astia5l.getTyhjaa() ~~~ 5.0; astia5l.kaada(3.0); astia5l.getMaara() ~~~ 3.0; astia5l.getTyhjaa() ~~~ 2.0; astia5l.kaada(3.0); astia5l.getMaara() ~~~ 5.0; astia5l.getTyhjaa() ~~~ 0.0; astia5l.kaada(-2.0); astia5l.getMaara() ~~~ 3.0; astia5l.getTyhjaa() ~~~ 2.0; astia5l.kaada(-2.0); astia5l.getMaara() ~~~ 1.0; astia5l.getTyhjaa() ~~~ 4.0; astia5l.kaada(-2.0); astia5l.getMaara() ~~~ 0.0; astia5l.getTyhjaa() ~~~ 5.0;
public void kaada(Astia astia)
astia
- astia johon kaadetaanAstia astia5l = new Astia("5l",5); Astia astia8l = new Astia("8l",8); Astia ampari = new Astia("Ämpäri",100); ampari.tayta(); ampari.kaada(astia8l); ampari.getMaara() ~~~ 92.0; astia8l.getMaara() ~~~ 8.0; astia8l.kaada(astia5l); astia5l.getMaara() ~~~ 5.0; astia8l.getMaara() ~~~ 3.0; astia5l.kaada(ampari); astia5l.getMaara() ~~~ 0.0; astia8l.kaada(astia5l); ampari.kaada(astia8l); astia8l.kaada(astia5l); astia8l.getMaara() ~~~ 6.0; astia8l.getTyhjaa() ~~~ 2.0;
public double getMaara()
public double getTilavuus()
public double getTyhjaa()
public java.lang.String getNimi()
public boolean oletko(java.lang.String mika)
mika
- verrattava nimi
Astia ampari = new Astia("Ämpäri",100); ampari.oletko("Ä") === false; ampari.oletko("ämpäri") === true; ampari.oletko("ÄMPÄRI") === true;
public static void main(java.lang.String[] args)
args
-
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |