|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object demo.Astia2
public class Astia2
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]
Constructor Summary | |
---|---|
Astia2()
|
Method Summary | |
---|---|
static int |
etsi(Astia[] astiat,
java.lang.String nimi)
Etsii sen astian, jolla on annettu nimi. |
static void |
main(java.lang.String[] args)
Testataan Astia2-luokkaa |
static void |
nimiOhje(Astia[] astiat,
java.lang.String mista,
java.lang.String mihin)
Tulostaa ohjeet astioiden nimistä. |
static void |
tulostaOhje(Astia[] astiat)
Tulostaa tiedot asioista |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Astia2()
Method Detail |
---|
public static void tulostaOhje(Astia[] astiat)
astiat
- taulukko josta tulostetaanSuuntaaja.StringOutput so = new Suuntaaja.StringOutput(); Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) }; tulostaOhje(astiat); so.ero("Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n") === null; so.palauta();
public static int etsi(Astia[] astiat, java.lang.String nimi)
astiat
- taulukko astoista, joista etsitäännimi
- etsittävän astian nimi
Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) }; etsi(astiat,"ä") === 0; etsi(astiat,"Ä") === 0; etsi(astiat,"5") === 1; etsi(astiat,"8") === 2; etsi(astiat,"9") === -1;
public static void nimiOhje(Astia[] astiat, java.lang.String mista, java.lang.String mihin)
astiat
- tulostettava tunnetuujen astioiden taulukkomista
- mistä yritettiin kaataamihin
- mihin yritettiin kaataaSuuntaaja.StringOutput so = new Suuntaaja.StringOutput(); Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) }; nimiOhje(astiat,"4","6"); String tulos = "Nimeä ei tunneta: 4 tai 6\n" + "Tunnetaan nimet: \n" + "ä 5 8 \n"; so.ero(tulos) === null; so.palauta();
public static void main(java.lang.String[] args)
args
- ei käytössäSuuntaaja.StringInput si = new Suuntaaja.StringInput(); Suuntaaja.StringOutput so = new Suuntaaja.StringOutput(); si.input("ä 8\n8 5\n4 5\n\n"); main(null); String tulos = "Käytössäsi on 5.0 sekä 8.0 litran astiat ja Ämpari (100.0 l)\n"+ "5.0 litran astiassa on 0.0 litraa nestettä\n" + "8.0 litran astiassa on 0.0 litraa nestettä\n" + "Mistä kaadetaan ja mihin >" + // NOPMD "5.0 litran astiassa on 0.0 litraa nestettä\n" + "8.0 litran astiassa on 8.0 litraa nestettä\n" + "Mistä kaadetaan ja mihin >" + "5.0 litran astiassa on 5.0 litraa nestettä\n" + "8.0 litran astiassa on 3.0 litraa nestettä\n" + "Mistä kaadetaan ja mihin >" + "Nimeä ei tunneta: 4 tai 5\n" + "Tunnetaan nimet: \n" + "ä 5 8 \n" + "5.0 litran astiassa on 5.0 litraa nestettä\n" + "8.0 litran astiassa on 3.0 litraa nestettä\n" + "Mistä kaadetaan ja mihin >"; so.ero(tulos) === null; si.palauta(); so.palauta();
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |