kerho
Class Jasen

java.lang.Object
  extended by kerho.Jasen

public class Jasen
extends Object

Kerhon jäsen joka osaa mm. itse huolehtia tunnusNro:staan. Jäsenen käsittely kenttätaulukon avulla. Jäsen osaa palautta i:n kentän arvon ja kysymyksen.

Version:
1.0, 22.02.2003, 1.3, 02.04.2003, 1.4, 01.04.2008
Author:
Vesa Lappalainen

Nested Class Summary
static class Jasen.Vertailija
          Luokka joka vertaa kahta jäsentä keskenään
 
Constructor Summary
Jasen()
          Alustetaan jäsenen merkkijono-attribuuti tyhjiksi jonoiksi ja tunnusnro = 0.
 
Method Summary
 String anna(int k)
          Antaa k:n kentän sisällön merkkijonona
 String aseta(int k, String jono)
          Asettaa k:n kentän arvoksi parametrina tuodun merkkijonon arvon
 int ekaKentta()
          Eka kenttä joka on mielekäs kysyttäväksi
 int getKenttia()
          Palauttaa jäsenen kenttien lukumäärän
 String getKysymys(int k)
          Palauttaa k:tta jäsenen kenttää vastaavan kysymyksen
 int getTunnusnro()
          Palauttaa jäsenen tunnusnumeron.
static void main(String[] args)
          Testiohjelma jäsenelle.
 void parse(String rivi)
          Selvitää jäsenen tiedot | erotellusta merkkijonosta Pitää huolen että seuraavaNro on suurempi kuin tuleva tunnusNro.
static int rand(int ala, int yla)
          Arvotaan satunnainen kokonaisluku välille [ala,yla]
 int rekisteroi()
          Antaa jäsenelle seuraavan rekisterinumeron.
 String toString()
          Palauttaa jäsenen tiedot merkkijonona jonka voi tallentaa tiedostoon.
 void tulosta(OutputStream os)
          Tulostetaan henkilön tiedot
 void tulosta(PrintStream out)
          Tulostetaan henkilön tiedot
 void vastaaAkuAnkka()
          Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle.
 void vastaaAkuAnkka(String apuhetu)
          Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Jasen

public Jasen()
Alustetaan jäsenen merkkijono-attribuuti tyhjiksi jonoiksi ja tunnusnro = 0.

Method Detail

getKenttia

public int getKenttia()
Palauttaa jäsenen kenttien lukumäärän

Returns:
kenttien lukumäärä

ekaKentta

public int ekaKentta()
Eka kenttä joka on mielekäs kysyttäväksi

Returns:
eknn kentän indeksi

anna

public String anna(int k)
Antaa k:n kentän sisällön merkkijonona

Parameters:
k - monenenko kentän sisältö palautetaan
Returns:
kentän sisältö merkkijonona

aseta

public String aseta(int k,
                    String jono)
Asettaa k:n kentän arvoksi parametrina tuodun merkkijonon arvon

Parameters:
k - kuinka monennen kentän arvo asetetaan
jono - jonoa joka asetetaan kentän arvoksi
Returns:
null jos asettaminen onnistuu, muuten vastaava virheilmoitus.

getKysymys

public String getKysymys(int k)
Palauttaa k:tta jäsenen kenttää vastaavan kysymyksen

Parameters:
k - kuinka monennen kentän kysymys palautetaan (0-alkuinen)
Returns:
k:netta kenttää vastaava kysymys

rand

public static int rand(int ala,
                       int yla)
Arvotaan satunnainen kokonaisluku välille [ala,yla]

Parameters:
ala - arvonnan alaraja
yla - arvonnan yläraja
Returns:
satunnainen luku väliltä [ala,yla]

vastaaAkuAnkka

public void vastaaAkuAnkka(String apuhetu)
Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle.

Parameters:
apuhetu - hetu joka annetaan henkilölle

vastaaAkuAnkka

public void vastaaAkuAnkka()
Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle. Henkilötunnus arvotaan, jotta kahdella jäsenellä ei olisi samoja tietoja.


tulosta

public void tulosta(PrintStream out)
Tulostetaan henkilön tiedot

Parameters:
out - tietovirta johon tulostetaan

tulosta

public void tulosta(OutputStream os)
Tulostetaan henkilön tiedot

Parameters:
os - tietovirta johon tulostetaan

rekisteroi

public int rekisteroi()
Antaa jäsenelle seuraavan rekisterinumeron.

Returns:
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;
 

getTunnusnro

public int getTunnusnro()
Palauttaa jäsenen tunnusnumeron.

Returns:
jäsenen tunnusnumero

toString

public String toString()
Palauttaa jäsenen tiedot merkkijonona jonka voi tallentaa tiedostoon.

Overrides:
toString in class Object
Returns:
jäsen tolppaeroteltuna merkkijonona

parse

public void parse(String rivi)
Selvitää jäsenen tiedot | erotellusta merkkijonosta Pitää huolen että seuraavaNro on suurempi kuin tuleva tunnusNro.

Parameters:
rivi - josta jäsenen tiedot otetaan
Example:
   Jasen jasen = new Jasen();
   jasen.parse("   3  |  Ankka Aku   | 123");
   jasen.getTunnusnro() === 3;
   jasen.toString().startsWith("3|Ankka Aku|123|") === true; // on enemmäkin kuin 3 kenttää, siksi loppu |

   jasen.rekisteroi();
   int n = jasen.getTunnusnro();
   jasen.parse(""+(n+20));       // Otetaan merkkijonosta vain tunnusnumero
   jasen.rekisteroi();           // ja tarkistetaan että seuraavalla kertaa tulee yhtä isompi
   jasen.getTunnusnro() === n+20+1;
     
 

main

public static void main(String[] args)
Testiohjelma jäsenelle.

Parameters:
args - ei käytössä