1 import java.io.*;
2 import fi.jyu.mit.ohj2.*;
3
9 public class Jasen {
10 private int tunnus_nro;
11 private String nimi = "";
12 private String hetu = "";
13 private String katuosoite = "";
14 private String postinumero = "";
15 private String postiosoite = "";
16 private String kotipuhelin = "";
17 private String tyopuhelin = "";
18 private String autopuhelin = "";
19 private int liittymisvuosi = 0;
20 private double jmaksu = 0;
21 private double maksu = 0;
22 private String lisatietoja = "";
23 private static int seuraava_nro = 1;
24
25 public Jasen() { }
26
27
33 public static int rand(int ala, int yla) {
34 double n = (yla-ala)*Math.random() + ala;
35 return (int)Math.round(n);
36 }
37
38
43 public void vastaa_aku_ankka() {
44 String apuhetu = Mjonot.fmt(rand(1,31),2,'0') +
45 Mjonot.fmt(rand(1,12),2,'0') +
46 Mjonot.fmt(rand(1,99),2,'0') + "-" +
47 Mjonot.fmt(rand(1,1000),3,'0') +
48 ( (char)((int)'A'+rand(1,25)));
49
50 nimi = "Ankka Aku";
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
68 public void tulosta(PrintStream out) {
69 out.println(Mjonot.fmt(tunnus_nro,3,'0')+ " " + nimi + " " + hetu);
70 out.println(" " + katuosoite + " " + postinumero + " " + postiosoite);
71 out.println(" k: " + kotipuhelin +
72 " t: " + tyopuhelin +
73 " a: " + autopuhelin);
74 out.print(" Liittynyt " + liittymisvuosi + ".");
75 out.println(" Jäsenmaksu " + Mjonot.fmt(jmaksu,4,2) + " mk." +
76 " Maksettu " + Mjonot.fmt(maksu,4,2) + " mk.");
77 out.println(" " + lisatietoja);
78 }
79
80
84 public void tulosta(OutputStream os) {
85 tulosta(new PrintStream(os));
86 }
87
88
92 public int rekisteroi() {
93 tunnus_nro = seuraava_nro;
94 seuraava_nro++;
95 return tunnus_nro;
96 }
97
98 public int getTunnus_nro() { return tunnus_nro; }
99
100 public String toString() {
101 return "" +
102 tunnus_nro + "|" +
103 nimi + "|" +
104 hetu + "|" +
105 katuosoite + "|" +
106 postinumero + "|" +
107 postiosoite + "|" +
108 kotipuhelin + "|" +
109 tyopuhelin + "|" +
110 autopuhelin + "|" +
111 liittymisvuosi + "|" +
112 jmaksu + "|" +
113 maksu + "|" +
114 lisatietoja ;
115 }
116
117 public void parse(String rivi) {
118 StringBuffer sb = new StringBuffer(rivi);
119 tunnus_nro = Mjonot.erota(sb,'|',tunnus_nro);
120 if ( tunnus_nro >= seuraava_nro ) seuraava_nro = tunnus_nro + 1;
121 nimi = Mjonot.erota(sb,'|',nimi);
122 hetu = Mjonot.erota(sb,'|',hetu);
123 katuosoite = Mjonot.erota(sb,'|',katuosoite);
124 postinumero = Mjonot.erota(sb,'|',postinumero);
125 postiosoite = Mjonot.erota(sb,'|',postiosoite);
126 kotipuhelin = Mjonot.erota(sb,'|',kotipuhelin);
127 tyopuhelin = Mjonot.erota(sb,'|',tyopuhelin);
128 autopuhelin = Mjonot.erota(sb,'|',autopuhelin);
129 liittymisvuosi = Mjonot.erota(sb,'|',liittymisvuosi);
130 jmaksu = Mjonot.erota(sb,'|',jmaksu);
131 maksu = Mjonot.erota(sb,'|',maksu);
132 lisatietoja = Mjonot.erota(sb,'|',lisatietoja);
133 }
134
135
139 public static void main(String args[]) {
140 Jasen aku = new Jasen(), aku2 = new Jasen();
141 aku.rekisteroi();
142 aku2.rekisteroi();
143 aku.tulosta(System.out);
144 aku.vastaa_aku_ankka();
145 aku.tulosta(System.out);
146
147 aku2.vastaa_aku_ankka();
148 aku2.tulosta(System.out);
149
150 aku2.vastaa_aku_ankka();
151 aku2.tulosta(System.out);
152
153 System.out.println(aku2.toString());
154 }
155
156 }
157
158
159