/** * */ package kerho; import java.io.PrintStream; /** * Yksi kerhon jäsen: * - ei tiedä kerhosta, eikä käyttöliittymästä) * - tietää jäsenen kentät (nimi, hetu, puhnro, jne.) * - osaa tarkistaa tietyn kentän oikeellisuuden (syntaksin) * - osaa muuttaa 1|Ankka Aku|..| - merkkijonon jäsenen tiedoiksi // TODO * - osaa antaa merkkijonona i:n kentän tiedot // TODO * - osaa laittaa merkkijonon i:neksi kentäksi // TODO * * @author vesal * @version 22.2.2011 */ public class Jasen { private int tunnusNro; private String nimi = ""; private String hetu = ""; private String katuosoite = ""; private String postinumero = ""; private String postiosoite = ""; private String kotipuhelin = ""; private String tyopuhelin = ""; private String autopuhelin = ""; private int liittymisvuosi = 0; private double jmaksu = 0; private double maksu = 0; private String lisatietoja = ""; private static int seuraavaNro = 1; /** * Alustetaan jäsen tyhjäksi */ public Jasen() { // ei tarvita mitään koska attribuutit on jo alustettu tyhjiksi tai nolliksi } /** * Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle. * */ public void vastaaAkuAnkka() { nimi = "Ankka Aku " + kanta.HetuTarkistus.rand(1000, 9999); hetu = kanta.HetuTarkistus.arvoHetu(); katuosoite = "Ankkakuja 6"; postinumero = "12345"; postiosoite = "ANKKALINNA"; kotipuhelin = "12-1234"; tyopuhelin = ""; autopuhelin = ""; liittymisvuosi = 1996; jmaksu = 50.00; maksu = 30.00; lisatietoja = "Velkaa Roopelle"; } /** * Tulostetaan henkilön tiedot * @param out tietovirta johon tulostetaan */ public void tulosta(PrintStream out) { out.println(String.format("%03d", tunnusNro, 3) + " " + nimi + " " + hetu); out.println(" " + katuosoite + " " + postinumero + " " + postiosoite); out.println(" k: " + kotipuhelin + " t: " + tyopuhelin + " a: " + autopuhelin); out.print(" Liittynyt " + liittymisvuosi + "."); out.println(" Jäsenmaksu " + String.format("%4.2f", jmaksu) + " e." + " Maksettu " + String.format("%4.2f", maksu) + " e."); out.println(" " + lisatietoja); } /** * Antaa jäsenelle seuraavan rekisterinumeron. * @return jäsenen uusi tunnusNro * @example *
     *   Jasen aku1 = new Jasen();
     *   aku1.getTunnusNro() === 0;
     *   aku1.rekisteroi();
     *   Jasen aku2 = new Jasen();
     *   aku2.rekisteroi();
     *   int n1 = aku1.getTunnusNro();
     *   int n2 = aku2.getTunnusNro();
     *   n1 === n2-1;
     * 
*/ public int rekisteroi() { tunnusNro = seuraavaNro; seuraavaNro++; return tunnusNro; } /** * Palauttaa jäsenen tunnusnumeron. * @return jäsenen tunnusnumero */ public int getTunnusNro() { return tunnusNro; } /** * @param args ei käytössä */ public static void main(String[] args) { Jasen aku = new Jasen(); Jasen aku2 = new Jasen(); aku.tulosta(System.out); System.out.println(); aku.rekisteroi(); aku2.rekisteroi(); aku.vastaaAkuAnkka(); aku2.vastaaAkuAnkka(); aku.tulosta(System.out); System.out.println(); aku2.tulosta(System.out); System.out.println(); } }