1 package kerho;
2
3 import java.io.*;
4
5 import static kanta.HetuTarkistus.*;
6
7
13 public class Jasen {
14 private int tunnusNro;
15 private String nimi = "";
16 private String hetu = "";
17 private String katuosoite = "";
18 private String postinumero = "";
19 private String postiosoite = "";
20 private String kotipuhelin = "";
21 private String tyopuhelin = "";
22 private String autopuhelin = "";
23 private int liittymisvuosi = 0;
24 private double jmaksu = 0;
25 private double maksu = 0;
26 private String lisatietoja = "";
27
28 private static int seuraavaNro = 1;
29
30
31
40 public String getNimi() {
41 return nimi;
42 }
43
44
45
49 public void vastaaAkuAnkka(String apuhetu) {
50 nimi = "Ankka Aku " + rand(1000, 9999);
51 hetu = apuhetu;
52 katuosoite = "Ankkakuja 6";
53 postinumero = "12345";
54 postiosoite = "ANKKALINNA";
55 kotipuhelin = "12-1234";
56 tyopuhelin = "";
57 autopuhelin = "";
58 liittymisvuosi = 1996;
59 jmaksu = 50.00;
60 maksu = 30.00;
61 lisatietoja = "Velkaa Roopelle";
62 }
63
64
65
70 public void vastaaAkuAnkka() {
71 String apuhetu = arvoHetu();
72 vastaaAkuAnkka(apuhetu);
73 }
74
75
76
80 public void tulosta(PrintStream out) {
81 out.println(String.format("%03d", tunnusNro, 3) + " " + nimi + " "
82 + hetu);
83 out.println(" " + katuosoite + " " + postinumero + " " + postiosoite);
84 out.println(" k: " + kotipuhelin +
85 " t: " + tyopuhelin +
86 " a: " + autopuhelin);
87 out.print(" Liittynyt " + liittymisvuosi + ".");
88 out.println(" Jäsenmaksu " + String.format("%4.2f", jmaksu) + " e." +
89 " Maksettu " + String.format("%4.2f", maksu) + " e.");
90 out.println(" " + lisatietoja);
91 }
92
93
94
98 public void tulosta(OutputStream os) {
99 tulosta(new PrintStream(os));
100 }
101
102
103
118 public int rekisteroi() {
119 tunnusNro = seuraavaNro;
120 seuraavaNro++;
121 return tunnusNro;
122 }
123
124
125
129 public int getTunnusNro() {
130 return tunnusNro;
131 }
132
133
134
138 public static void main(String args[]) {
139 Jasen aku = new Jasen(), aku2 = new Jasen();
140 aku.rekisteroi();
141 aku2.rekisteroi();
142 aku.tulosta(System.out);
143 aku.vastaaAkuAnkka();
144 aku.tulosta(System.out);
145
146 aku2.vastaaAkuAnkka();
147 aku2.tulosta(System.out);
148
149 aku2.vastaaAkuAnkka();
150 aku2.tulosta(System.out);
151 }
152
153 }
154