Hallo, es geht um folgendes:
Gegeben ist der Rahmen der Klasse Clock, welche eine digitale Uhr beschreibt. Ein Objekt der
Klasse Clock enthält drei Attribute (seconds- Anzahl der Sekunden,minutes- Anzahl der Minuten, hours - Anzahl der Stunden), welche die aktuelle Uhrzeit beschreiben. Die Uhr verwaltet die Zeit im 12-Stundenformat. Zur Unterscheidung, ob es gerade vormittags oder nachmittags ist, nutzt die Klasse Clock das Attribut anteMeridiem . Enthält dieses den Wert true, so ist es vormittags und enthält dieses den Wert false , so ist es nachmittags. Ihre Aufgabe ist es, den Konstruktor und die Methoden print und signal entsprechend der folgenden Beschreibung mit Anweisungen auszufüllen.
1.
Konstruktor- Dieser soll mit den Werten der Parameterliste die Attribute des Objektes
initialisieren. Vor der Zuweisung der einzelnen Werte an die Attribute muss somit geprüft
werden, ob die Parameter gültige Werte enthalten. Da die Klasse Clockdie Zeit im 12-
Stundenformat verwaltet, darf z.B. das Attribut hours somit nur Werte im Bereich
1≤hours≤12 annehmen. Ist ein Wert nicht gültig, so soll eine aussagekräftige Fehlermeldung ausgegeben werden.
Meine Ideen:
Kann man das so machen?
Gegeben ist der Rahmen der Klasse Clock, welche eine digitale Uhr beschreibt. Ein Objekt der
Klasse Clock enthält drei Attribute (seconds- Anzahl der Sekunden,minutes- Anzahl der Minuten, hours - Anzahl der Stunden), welche die aktuelle Uhrzeit beschreiben. Die Uhr verwaltet die Zeit im 12-Stundenformat. Zur Unterscheidung, ob es gerade vormittags oder nachmittags ist, nutzt die Klasse Clock das Attribut anteMeridiem . Enthält dieses den Wert true, so ist es vormittags und enthält dieses den Wert false , so ist es nachmittags. Ihre Aufgabe ist es, den Konstruktor und die Methoden print und signal entsprechend der folgenden Beschreibung mit Anweisungen auszufüllen.
1.
Konstruktor- Dieser soll mit den Werten der Parameterliste die Attribute des Objektes
initialisieren. Vor der Zuweisung der einzelnen Werte an die Attribute muss somit geprüft
werden, ob die Parameter gültige Werte enthalten. Da die Klasse Clockdie Zeit im 12-
Stundenformat verwaltet, darf z.B. das Attribut hours somit nur Werte im Bereich
1≤hours≤12 annehmen. Ist ein Wert nicht gültig, so soll eine aussagekräftige Fehlermeldung ausgegeben werden.
Meine Ideen:
Java:
public class Clock {
int seconds , minutes , hours; // Sekunden , Minuten , Stunden
boolean anteMeridiem; // true = am | false = pm
// Parameter: secs = Sekunde | mins = Minute | hs = Stunde | am = am oder pm
public Clock( int secs, int mins, int hs, boolean am) {
if (hs>12 || hs<1) {
System.out.println("Ungueltiger Wert (1 <= Stunde <= 12) !");
}
else {
hours=hs;
}
if (mins>59 || mins<0) {
System.out.println("Ungueltiger Wert (0 <= Minute <= 59) !");
}
else {
minutes = mins;
}
if (secs>59 || secs<0) {
System.out.println("Ungueltiger Wert (0 <= Sekunde <= 59) !");
}
else {
seconds=secs;
}
anteMeridiem = am;
}
}