Aufgabe 10
Aufgabe 10.a Zeit
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | public class Zeit { protected int stunden; protected int minuten; protected int sekunden; public Zeit(int stunden, int minuten, int sekunden) { this.stunden = stunden; this.minuten = minuten; this.sekunden = sekunden; normalize(); } public Zeit(Zeit zeit) { this(zeit.stunden, zeit.minuten, zeit.sekunden); } public int getStunden() { return stunden; } public int getMinuten() { return minuten; } public int getSekunden() { return sekunden; } public int getGesamtZeit() { return getStunden() * 3600 + getMinuten() * 60 + getSekunden(); } public void add(int sekunden) { this.sekunden += sekunden; normalize(); } public void add(Zeit t) { this.stunden += t.getStunden(); this.minuten += t.getMinuten(); this.sekunden += t.getSekunden(); normalize(); } public void substract(int sekunden) { this.sekunden -= sekunden; normalize(); } public void substract(Zeit t) { this.stunden -= t.getStunden(); this.minuten -= t.getMinuten(); this.sekunden -= t.getSekunden(); normalize(); } /** * Normalisierung der Zeit automatisch bei allen eingaben */ protected void normalize() { int rest = getGesamtZeit(); sekunden = rest % 60; rest /= 60; minuten = rest % 60; rest /= 60; stunden = rest; } public String toString() { return String.format("%02d:%02d:%02d", stunden, minuten, sekunden); } } |
Aufgabe 10.b ZeitDemo
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class ZeitDemo { public static PrintWriter cout = new PrintWriter(System.out, true); public static void main(String[] args) { /** test create time **/ Zeit zeit = new Zeit(18, 4, 32); cout.println("Zeit1: " + zeit); Zeit zeit2 = new Zeit(0, 32, 0); cout.println("Zeit2: " + zeit2); /** test addition **/ zeit2.add(zeit); cout.println("Zeit2 + Zeit1: " + zeit2); zeit2.add(90); cout.println("Zeit2 + 90s: " + zeit2); /** test substract **/ zeit2.substract(zeit); cout.println("Zeit2 - Zeit1: " + zeit2); zeit2.substract(90); cout.println("Zeit2 - 90s: " + zeit2); } } |
Leave a Reply