package tiedosto;

/**
 * Luokka, joka laskee yhden sanan esiintymiskertoja
 * @author Vesa Lappalainen
 * @version 1.0, 11.03.2003
 */
public class Sana {
    private String teksti;
    private int lkm;


    /**
     * Luodaan uusi sana, lkm = 0;
     * @param s jono joksi sana alustetaan
     */
    public Sana(String s) {
        this.teksti = s;
    }


    /**
     * Lis�� sanan esiintymien lukum��r��
     * @return sanojen m��r� lis�yksne j�lkeen 
     * <pre name="test">
     *   Sana sana = new Sana("kissa");
     *   sana.toString() === "kissa=0";
     *   sana.lisaa();
     *   sana.toString() === "kissa=1";
     *   sana.lisaa();
     *   sana.toString() === "kissa=2";
     * </pre>
     */
    public int lisaa() {
        lkm++;
        return lkm;
    }


    /**
     * @return sana ja m��r� merkkijonona    
     * <pre name="test">
     *   Sana sana = new Sana("kissa");
     *   sana.toString() === "kissa=0";
     * </pre>
     */
    @Override
    public String toString() {
        return teksti + "=" + lkm;
    }


    /**
     * Verrataan onko tutkittava jono
     * @param s tutkittava jono
     * @return true jos sama kuin s
     * <pre name="test">
     *   Sana sana = new Sana("kissa");
     *   sana.oletko("kissa") === true;
     *   sana.oletko("kISSA") === true;
     *   sana.oletko("kiss")  === false;
     * </pre>
     */
    public boolean oletko(String s) {
        return teksti.equalsIgnoreCase(s);
    }


    /**
     * Kokeillaan sana-luokkaa
     * @param args ei k�yt�ss�
     */
    public static void main(String[] args) {
        Sana sana = new Sana("kissa");
        System.out.println(sana);
        if (sana.oletko("kissa")) sana.lisaa();
        System.out.println(sana);
        if (sana.oletko("koira")) sana.lisaa();
        System.out.println(sana);
    }
}