Hallo
Ich hab Hausaufgaben aufbekommen zum thema Methoden das Programm soll folgende Punkte erfüllen
Was ich bisher habe.
Muss mein nächster Schritt etwa so aussehen ?
Damit wenn ich nur 1 Zahl ausgeben will, diese als Stunden gedeutet wird und min/sek mit 00 .
Ich hab Hausaufgaben aufbekommen zum thema Methoden das Programm soll folgende Punkte erfüllen
Code:
Eine Zeitangabe besteht aus Stunden (0-23), Minuten (0-59) und Sekunden (0-59).
Definieren Sie eine Klasse ClockTime, die eine Zeitangabe mit diesen
Komponenten repräsentiert. Die Klasse bietet die folgenden Methoden an:
ClockTime()
· Default-Ctor, initialisiert die Zeit mit 00:00:00.
ClockTime(int h)
ClockTime(int h, int m)
ClockTime(int h, int m, int s)
· Custom-Ctors. Die ein, zwei oder drei int Parameter geben jeweils Stunden,
Stunden und Minuten, sowie alle drei Elemente vor. Die Wertebereiche der
Parameter sind nicht eingeschränkt. Sie können beliebig groß und auch
negativ sein. Das heißt, dass Sekunden in Minuten und Minuten in Stunden
überlaufen können, und dass nach 23:59:59 wieder 00:00:00 folgt.
ClockTime(ClockTime ct)
· Copy-Ctor, initialisiert das neue Objekt mit der gleichen Zeit wie ct.
Boolean same(ClockTime ct)
· Akzeptiert als Argument ein anderes ClockTime Objekt und stellt fest, ob
beide Zeiten gleich sind. Das Ergebnis ist ein boolean Wert (true = beide
gleich, false = nicht gleich).
void add(int s)
· Akzeptiert eine Anzahl Sekunden s und addiert s zur Zeit. Zeiten laufen von
23:59:59 nach 00:00:00 über. Die Sekundenzahl s kann auch negativ sein; in
diesem Fall wird der Sekundenbetrag subtrahiert.
int diff(ClockTime ct)
· Akzeptiert ein anderes ClockTime Objekt ct als Argument und liefert den
Zeitunterschied zwischen dem Zielobjekt und ct zurück. Der Zeitunterschied
wird in Sekunden gemessen und ist immer positiv. Zwei Beispiele:
Der Zeitunterschied zwischen 00:00:00 und 00:00:01 ist 1 Sekunde.
Der Zeitunterschied zwischen 00:00:01 und 00:00:00 ist 86399 Sekunden.
int getSeconds()
· Liefert die Anzahl Sekunden s mit 0 ≤ s ≤ 59.
int getMinutes()
· Liefert die Anzahl Minuten m mit 0 ≤ m ≤ 59.
int getHours()
· Liefert die Anzahl Stunden h mit 0 ≤ h ≤ 23.
Was ich bisher habe.
Java:
public class HauptProg {
public static void main (String[] args){
ClockTime c = new ClockTime(22,14,15);
System.out.println("Zei: " +c.getStunden());
}
}
Java:
public class ClockTime {
// Attribute
private int stunden;
private int minuten;
private int sekunden;
// Konstruktoren
public ClockTime() {
stunden = 0;
minuten = 0;
sekunden = 0;
}
public ClockTime(int stunden, int minuten, int sekunden) {
this.stunden = stunden;
this.minuten = minuten;
this.sekunden = sekunden;
}
// get- und set-Methoden
public int getStunden() {
return stunden;
}
public int getMinuten() {
return minuten;
}
public int getSekunden() {
return sekunden;
}
public void setClockTime(int stunden, int minuten, int sekunden) {
this.stunden = stunden;
this.minuten = minuten;
this.sekunden = sekunden;
}
}
Muss mein nächster Schritt etwa so aussehen ?
Java:
//Konstruktor
public ClockTime(int h, int m,int s) {
stunden = h;
minuten = m;
sekunden = s;
}
//Konstruktor
public ClockTime(int h, int m) {
stunden = h;
minuten = m;
sekunden = 00 ;
}
//Konstruktor
public ClockTime(int h) {
stunden = h;
minuten = 00;
sekunden = 00;
}
Damit wenn ich nur 1 Zahl ausgeben will, diese als Stunden gedeutet wird und min/sek mit 00 .