package olio; /** * Leikitään astioilla * * @author vesal * @version 12.2.2009 */ public class Astia { private String nimi; private double tilavuus = 5; private double maara; /** * Alustaa astin koon * @param nimi astin nimi * @param tilavuus astian tilavuus * @example *
     * Astia astia = new Astia(15);
     * astia.getTilavuus() ~~~ 15;
     * Astia astia2 = new Astia(-15);
     * astia2.getTilavuus() ~~~ 0;
     * 
     * 
*/ public Astia(String nimi,double tilavuus) { this.nimi = nimi; if ( tilavuus >= 0 ) this.tilavuus = tilavuus; maara = 0; } /** * @return astian tilavuus */ public double getTilavuus() { return tilavuus; } /** * Täyttää astian piripintaan * @example *
     * Astia astia = new Astia(15);
     * astia.getMaara() ~~~ 0;
     * astia.tayta();
     * astia.getMaara() ~~~ 15;
     * 
*/ public void tayta() { maara = tilavuus; } /** * @return palauttaa astian nykyisen nestemäärän * TODO korjaa palauttamaan oikea määrä */ public double getMaara() { return maara; } /** * Astia kaataa itsestään nestettä parametrina tuotuun astiaan * @param astia * @example *
     * Astia astia8 = new Astia(8);
     * Astia astia5 = new Astia(5);
     * Astia astia10 = new Astia(10);
     * astia8.kaada(astia5);
     * astia5.getMaara() ~~~ 0;
     * astia8.tayta();
     * astia8.kaada(astia5);
     * astia5.getMaara() ~~~ 5;
     * astia8.getMaara() ~~~ 3;
     * astia8.kaada(astia10);
     * astia10.getMaara() ~~~ 3;
     * astia8.getMaara() ~~~ 0;
     * astia8.tayta();
     * astia8.kaada(astia10);
     * astia10.getMaara() ~~~ 10;
     * astia8.getMaara() ~~~ 1;
     * 
*/ public void kaada(Astia astia) { double siirettava = astia.getTilavuus() - astia.getMaara(); if ( getMaara() > siirettava ) { astia.maara += siirettava; maara -= siirettava; return; } astia.maara += getMaara(); maara = 0; } /** * @param args */ public static void main(String[] args) { /* Astia astia5l = new Astia(5); Astia astia8l = new Astia(8); Astia ampari = new Astia(100); */ Astia astiat[] = { new Astia("ä",100), new Astia("5",5), new Astia("8",8) }; Astia ampari = astiat[0]; ampari.tayta(); System.out.println("Ämpärissä on " + ampari.getMaara() + " litraa nestettä"); ampari.kaada(astiat[2]); astiat[2].kaada(astiat[1]); System.out.println("8 litran astiassa on " + astiat[2].getMaara() + " litraa nestettä"); } }