| Aika5.java |
1 /**
2 * Metodi vastaan aliohjelma
3 * @author Vesa Lappalainen
4 * @version 1.0, 01.02.2003
5 */
6 public class Aika5 {
7
8 private int h=0, m=0;
9
10 /**
11 * Asettaa uuden ajan ja pitää huolen että aika on aina oikeaa muotoa.
12 * @param h asetettavat tunnit
13 * @param m asetettavat minuutit
14 */
15 public void aseta(int h,int m) {
16 this.h = h; this.m = m; lisaa(0);
17 }
18
19 public Aika5() { // Oletusmuodostaja
20 aseta(0,0);
21 }
22
23 /**
24 * Asettaa uuden ajan ja pitää huolen että aika on aina oikeaa muotoa.
25 * @param h asetettavat tunnit
26 */
27 public Aika5(int h) {
28 aseta(h,0);
29 }
30
31 /**
32 * Alustaa ajan
33 * @param h tunnit
34 * @param m minuutit
35 */
36 public Aika5(int h,int m) { // Muodostaja
37 aseta(h,m);
38 }
39
40 /**
41 * Tulostaa ajan muodossa 15:05
42 * @param lf tulostetaanko rivinvaihto vai ei
43 */
44 public void tulosta(boolean lf) {
45 System.out.print("" + h + ":" + (m<10?"0":"")+m);
46 if ( lf ) System.out.println();
47 }
48
49 /**
50 * Tulostaa ajan muodossa 15:05 sekä aina rivinvaihdon
51 */
52 public void tulosta() {
53 tulosta(true);
54 }
55
56 /**
57 * Lisää aikaan valitun minuuttimäärän
58 * @param lisa_min lisättävä minuuttimäärä
59 */
60 public void lisaa(int lisa_min) {
61 int yht_min = h * 60 + m + lisa_min;
62 h = yht_min / 60;
63 m = yht_min % 60;
64 }
65
66 public static void lisaa(Aika5 aika,int lisa_min) {
67 int yht_min = aika.h * 60 + aika.m + lisa_min;
68 aika.h = yht_min / 60;
69 aika.m = yht_min % 60;
70 }
71
72
73 public static void main(String[] args) {
74 Aika5 a1 = new Aika5();
75 Aika5 a2 = new Aika5(13);
76 Aika5 a3 = new Aika5(14,25);
77
78 a1.tulosta(); a2.tulosta(); a3.tulosta();
79 a1.aseta(12,15); a2.aseta(16,-15);
80 a1.tulosta(); a2.tulosta();
81
82 lisaa(a1,55); a1.tulosta();
83 }
84
85 }
86
87 | Aika5.java |