kerho
Class Jasen

java.lang.Object
  extended by kerho.Jasen

public class Jasen
extends java.lang.Object

Kerhon jäsen joka osaa mm. itse huolehtia tunnusNro:staan.

Version:
1.0, 22.02.2003
Author:
Vesa Lappalainen

Field Summary
private  java.lang.String autopuhelin
           
private  java.lang.String hetu
           
private  double jmaksu
           
private  java.lang.String katuosoite
           
private  java.lang.String kotipuhelin
           
private  int liittymisvuosi
           
private  java.lang.String lisatietoja
           
private  double maksu
           
private  java.lang.String nimi
           
private  java.lang.String postinumero
           
private  java.lang.String postiosoite
           
private static int seuraavaNro
           
private  int tunnusnro
           
private  java.lang.String tyopuhelin
           
 
Constructor Summary
Jasen()
          Alustetaan jäsenen merkkijono-attribuuti tyhjiksi jonoiksi ja tunnusnro = 0.
 
Method Summary
 java.lang.String anna(int k)
          Antaa k:n kentän sisällön merkkijonona
 java.lang.String aseta(int k, java.lang.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
 java.lang.String getKysymys(int k)
          Palauttaa k:tta jäsenen kenttää vastaavan kysymyksen
 int getTunnusnro()
          Palauttaa jäsenen tunnusnumeron.
static void main(java.lang.String[] args)
          Testiohjelma jäsenelle.
 void parse(java.lang.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.
 java.lang.String toString()
          Palauttaa jäsenen tiedot merkkijonona jonka voi tallentaa tiedostoon.
 void tulosta(java.io.OutputStream os)
          Tulostetaan henkilön tiedot
 void tulosta(java.io.PrintStream out)
          Tulostetaan henkilön tiedot
 void vastaaAkuAnkka()
          Apumetodi, jolla saadaan täytettyä testiarvot jäsenelle.
 void vastaaAkuAnkka(java.lang.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
 

Field Detail

tunnusnro

private int tunnusnro

nimi

private java.lang.String nimi

hetu

private java.lang.String hetu

katuosoite

private java.lang.String katuosoite

postinumero

private java.lang.String postinumero

postiosoite

private java.lang.String postiosoite

kotipuhelin

private java.lang.String kotipuhelin

tyopuhelin

private java.lang.String tyopuhelin

autopuhelin

private java.lang.String autopuhelin

liittymisvuosi

private int liittymisvuosi

jmaksu

private double jmaksu

maksu

private double maksu

lisatietoja

private java.lang.String lisatietoja

seuraavaNro

private static int seuraavaNro
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 java.lang.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 java.lang.String aseta(int k,
                              java.lang.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 java.lang.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(java.lang.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(java.io.PrintStream out)
Tulostetaan henkilön tiedot

Parameters:
out - tietovirta johon tulostetaan

tulosta

public void tulosta(java.io.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 java.lang.String toString()
Palauttaa jäsenen tiedot merkkijonona jonka voi tallentaa tiedostoon.

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

parse

public void parse(java.lang.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(java.lang.String[] args)
Testiohjelma jäsenelle.

Parameters:
args - ei käytössä