Class Astia

java.lang.Object
  |
  +--Astia

public class Astia
extends java.lang.Object

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]

Version:
1.0, 09.02.2003
Author:
Vesa Lappalainen

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()
           
 java.lang.String getNimi()
           
 double getTilavuus()
           
 double getTyhjaa()
           
 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)
           
 boolean oletko(java.lang.String mika)
           
 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

nimi

private java.lang.String nimi

tilavuus

private double tilavuus

maara

private double maara
Constructor Detail

Astia

public Astia(java.lang.String nimi,
             double tilavuus)
Alustaa uuden astian tietyn kokoiseksi ja luonnollisetsi tyhjäksi

Parameters:
nimi - uuden astian nimi
tilavuus - uuden astian tilavuus
Method Detail

tayta

public void tayta()
Täyttää astian piripintaan asti


kaada

public void kaada(double lisa)
kaataa astiaan joko lisää tai vähentää, yli ei saa mennä eikä pakkasen puolelle

Parameters:
lisa - astiaan laitettava tai otettava nestemäärä

kaada

public void kaada(Astia astia)
Kaataa tästä astiasta (this) toiseen astiaan niin paljon kuin toiseen mahtuu tai tästä astiasta on antaa.

Parameters:
astia - astia johon kaadetaan

getMaara

public double getMaara()

getTilavuus

public double getTilavuus()

getTyhjaa

public double getTyhjaa()

getNimi

public java.lang.String getNimi()

oletko

public boolean oletko(java.lang.String mika)

main

public static void main(java.lang.String[] args)