1   import java.io.*;
2   import fi.jyu.mit.ohj2.*;
3   /**
4    * Harrastus joka osaa mm. itse huolehtia tunnus_nro:staan.
5    *
6    * @author Vesa Lappalainen
7    * @version 1.0, 20.03.2003
8    */
9   public class Harrastus {
10    private int    tunnus_nro;
11    private int    jasen_id;
12    private String ala;
13    private int    aloitusvuosi;
14    private int    tuntia_viikossa;
15  
16    private static int seuraava_nro = 1;
17  
18    public Harrastus() {  }
19  
20    /**
21     * Apumetodi, jolla saadaan täytettyä testiarvot Harrastukselle.
22     * Aloitusvuosi arvotaan, jotta kahdella harrastuksella ei olisi
23     * samoja tietoja.
24     * @param jid viite henkilöön, jonka harrastuksesta on kyse
25     */
26    void vastaa_pitsin_nyplays(int jid) {
27       jasen_id = jid;
28       ala = "Pitsin nypläys";
29       aloitusvuosi = Jasen.rand(1900,2000);
30       tuntia_viikossa = Jasen.rand(0,60);
31    }
32    /**
33     * Tulostetaan harrastuksen tiedot
34     * @param out tietovirta johon tulostetaan
35     */
36    public void tulosta(PrintStream out) {
37      out.println(ala + " " + aloitusvuosi + " " + tuntia_viikossa);
38    }
39  
40    /**
41     * Tulostetaan henkilön tiedot
42     * @param os tietovirta johon tulostetaan
43     */
44    public void tulosta(OutputStream os) {
45      tulosta(new PrintStream(os));
46    }
47  
48    /**
49     * Antaa harrastukselle seuraavan rekisterinumeron.
50     * @return harrastuksen uusi tunnus_nro
51     */
52    public int  rekisteroi() {
53      tunnus_nro = seuraava_nro;
54      seuraava_nro++;
55      return tunnus_nro;
56    }
57  
58    public int getTunnus_nro() { return tunnus_nro; }
59    public int getJasen_id() { return jasen_id; }
60  
61    /**
62     * Testiohjelma Harrastukselle.
63     * @param args ei käytössä
64     */
65    public static void main(String args[]) {
66      Harrastus har = new Harrastus();
67      har.vastaa_pitsin_nyplays(2);
68      har.tulosta(System.out);
69    }
70  
71  }
72  
73  
74