Stehe momentan auf dem Schlauch was ne Aufgabe angeht und wollte euch um Hilfe fragen.
Zu realisieren ist ein Programm, welches ausgehend von einem Anfangsdatum (z.B. 01.01.1970) mittels einer Methode vorruecke(int min, int h, int d, int m, int y) entsprechende Wert "draufaddieren" soll und letztenendes ein gültiges Ergebnis liefern soll. Schaltjahre werden dabei ignoriert, wir gehen davon aus das der Februar 28 Tage hat, etc.
Klasse Zeit.java
TestZeit.java
Glaube das ich auf dem richtigen Weg bin, jedoch komme ich nach meinem jetzigen Verständnis auf keinen grünen Zweig.
Würde mich über Antworten freuen!
Gruß teufelsfrucht
Zu realisieren ist ein Programm, welches ausgehend von einem Anfangsdatum (z.B. 01.01.1970) mittels einer Methode vorruecke(int min, int h, int d, int m, int y) entsprechende Wert "draufaddieren" soll und letztenendes ein gültiges Ergebnis liefern soll. Schaltjahre werden dabei ignoriert, wir gehen davon aus das der Februar 28 Tage hat, etc.
Klasse Zeit.java
Java:
public class Zeit {
public static int stunde = 0;
public static int minute = 0;
public static int tag = 1;
public static int monat = 1;
public static int jahr = 1970;
//gibt zureuck wie viele Tage ensprenden Monat hat
public static int tageInMonat(int m) {
if (m == 2) {
return 28;
}
if ((m <= 7) && (m % 2 == 1)) {
return 31;
} else {
if ((m >= 8) && (m % 2 == 0)) {
return 30;
}
}
return 0;
}
public static class Datum {
public static int stunde() {
return stunde;
}
public static void setStunde(int h) {
stunde = h;
}
public static int minute() {
return minute;
}
public static void setMinute(int mi) {
minute = mi;
}
public static int tag() {
return tag;
}
public static void setTag(int t) {
tag = t;
}
public static int monat() {
return monat;
}
public static void setMonat(int mo) {
monat = mo;
}
public static int jahr() {
return jahr;
}
public static void setJahr(int j) {
jahr = j;
}
public static void vorruecken(int jahr, int monat, int tag, int stunde, int minute) {
if((minute() + minute) <= 59){
setMinute((minute() + minute));
}
if((minute() + minute) > 59){
setMinute((minute() + minute) % 60);
setStunde(stunde()+1);
}
if((stunde() + stunde) <= 24){
setStunde(stunde() + stunde);
}
if((stunde() + stunde) > 24){
setStunde((stunde() + stunde) % 24);
setTag(tag()+1);
}
/*
if((tag() + tag) <= 31){
setTag(tag() + tag);
}
if((tag() + tag) > 31){
setTag((tag() + tag) % 31);
setMonat(monat() +1);
}
if((monat() + monat) <= 12){
setMonat(monat() + monat);
}
if((monat() + monat) > 12){
setMonat((monat() + monat) % 12);
setJahr(jahr()+1);
}
setJahr(jahr() + jahr);
}
*/
}
}
}
TestZeit.java
Java:
public class TestZeit {
public static void main(String[] args) {
// year, month, day, hour, min
System.out.println("Minute(n):\t" + Zeit.minute);
System.out.println("Stunde(n):\t" + Zeit.stunde);
System.out.println("Tag(e): \t" + Zeit.tag);
System.out.println("Monat(e):\t" + Zeit.monat);
System.out.println("Jahr(e):\t" + Zeit.jahr);
Zeit.Datum.vorruecken(5, 4, 4, 0, 59);
System.out.println("\nMinute(n):\t" + Zeit.minute);
System.out.println("Stunde(n):\t" + Zeit.stunde);
System.out.println("Tag(e): \t" + Zeit.tag);
System.out.println("Monat(e):\t" + Zeit.monat);
System.out.println("Jahr(e):\t" + Zeit.jahr);
}
}
Glaube das ich auf dem richtigen Weg bin, jedoch komme ich nach meinem jetzigen Verständnis auf keinen grünen Zweig.
Würde mich über Antworten freuen!
Gruß teufelsfrucht
Zuletzt bearbeitet von einem Moderator: