Harrastus.java |
1 package kerho; 2 3 import java.io.*; 4 5 /** 6 * Harrastus joka osaa mm. itse huolehtia tunnus_nro:staan. 7 * 8 * @author Vesa Lappalainen 9 * @version 1.0, 22.02.2003 10 */ 11 public class Harrastus { 12 private int tunnusNro; 13 private int jasenNro; 14 private String ala; 15 private int aloitusvuosi; 16 private int tuntiaViikossa; 17 18 private static int seuraavaNro = 1; 19 20 /** 21 * Alustetaan harrastus. Toistaiseksi ei tarvitse tehdä mitään 22 */ 23 public Harrastus() { 24 // Vielä ei tarvita mitään 25 } 26 27 28 /** 29 * Alustetaan tietyn jäsenen harrastus. 30 * @param jasenNro jäsenen viitenumero 31 */ 32 public Harrastus(int jasenNro) { 33 this.jasenNro = jasenNro; 34 } 35 36 37 /** 38 * Apumetodi, jolla saadaan täytettyä testiarvot Harrastukselle. 39 * Aloitusvuosi arvotaan, jotta kahdella harrastuksella ei olisi 40 * samoja tietoja. 41 * @param nro viite henkilöön, jonka harrastuksesta on kyse 42 */ 43 public void vastaaPitsinNyplays(int nro) { 44 jasenNro = nro; 45 ala = "Pitsin nypläys"; 46 aloitusvuosi = Jasen.rand(1900,2000); 47 tuntiaViikossa = Jasen.rand(0,60); 48 } 49 50 51 /** 52 * Tulostetaan harrastuksen tiedot 53 * @param out tietovirta johon tulostetaan 54 */ 55 public void tulosta(PrintStream out) { 56 out.println(ala + " " + aloitusvuosi + " " + tuntiaViikossa); 57 } 58 59 60 /** 61 * Tulostetaan henkilön tiedot 62 * @param os tietovirta johon tulostetaan 63 */ 64 public void tulosta(OutputStream os) { 65 tulosta(new PrintStream(os)); 66 } 67 68 /** 69 * Antaa harrastukselle seuraavan rekisterinumeron. 70 * @return harrastuksen uusi tunnus_nro 71 * @example 72 * <pre name="test"> 73 * Harrastus pitsi1 = new Harrastus(); 74 * pitsi1.getTunnusNro() === 0; 75 * pitsi1.rekisteroi(); 76 * Harrastus pitsi2 = new Harrastus(); 77 * pitsi2.rekisteroi(); 78 * int n1 = pitsi1.getTunnusNro(); 79 * int n2 = pitsi2.getTunnusNro(); 80 * n1 === n2-1; 81 * </pre> 82 */ 83 public int rekisteroi() { 84 tunnusNro = seuraavaNro; 85 seuraavaNro++; 86 return tunnusNro; 87 } 88 89 90 /** 91 * Palautetaan harrastuksen oma id 92 * @return harrastuksen id 93 */ 94 public int getTunnusNro() { return tunnusNro; } 95 96 97 /** 98 * Palautetaan mille jäsenelle harrastus kuuluu 99 * @return jäsenen id 100 */ 101 public int getJasenNro() { return jasenNro; } 102 103 104 /** 105 * Testiohjelma Harrastukselle. 106 * @param args ei käytössä 107 */ 108 public static void main(String[] args) { 109 Harrastus har = new Harrastus(); 110 har.vastaaPitsinNyplays(2); 111 har.tulosta(System.out); 112 } 113 114 } 115 116 117