K
key
Gast
Hallo,
ich habe ein Problem mit der Gaußschen Wochentagsformel (http://de.wikipedia.org/wiki/Gaußsche_Wochentagsformel).
Die Formel selbst ist
was ich auch so benutzt habe. Leider funktioniert sie bei mir aber nicht was ja eigentlich nicht seien kann.
Hier ist mal mein Code:
kann mir da evtl. einer helfen?
Vielen Dank im Voraus
key
ich habe ein Problem mit der Gaußschen Wochentagsformel (http://de.wikipedia.org/wiki/Gaußsche_Wochentagsformel).
Die Formel selbst ist
Code:
A = d + [2,6 m – 0,2] + y + [y/4] + [c/4] – 2c
w = A mod 7
was ich auch so benutzt habe. Leider funktioniert sie bei mir aber nicht was ja eigentlich nicht seien kann.
Hier ist mal mein Code:
Code:
public void wochentag() {
double d_tf = Double.valueOf(tag_tf.getText()).doubleValue();
double m_tf = Double.valueOf(monat_tf.getText()).doubleValue();
//Das Jahr wird als String geholt, da so einzelne zeichen extrahiert werden können (substring)
String jahr = String.valueOf(jahr_tf.getText());
//Aus dem String "jahr" jeweils die ersten beiden und die letzten beiden Zeichen extrahieren
String cc_s = jahr.substring(0, 2);
String yy_s = jahr.substring(2, 4);
//Die "String Teile" in double formatieren
double cc_tf = Double.valueOf(cc_s);
double yy_tf = Double.valueOf(yy_s);
//Der Wochentag wird berechnet (Gaußsche Wochentagsformel)
double h1 = Math.floor(2.6 * m_tf - 0.2);
double h2 = Math.floor(yy_tf/4);
double h3 = Math.floor(cc_tf/4);
double h4 = 2 * cc_tf;
double a = d_tf + h1 + yy_tf + h2 + h3 - h4;
double w = a % 7;
System.out.println(h1);
System.out.println(h2);
System.out.println(h3);
System.out.println(h4);
System.out.println(a);
System.out.println(d_tf);
System.out.println(yy_tf);
System.out.println(w);
//w wird in einen int umgewandelt
int w_int = new Double(w).intValue();
//die zahl wird einem wochentag zugeordnet
switch (w_int) {
case 0: ausgabe("Sonntag"); break;
case 1: ausgabe("Montag"); break;
case 2: ausgabe("Dienstag"); break;
case 3: ausgabe("Mittwoch"); break;
case 4: ausgabe("Donnerstag"); break;
case 5: ausgabe("Freitag"); break;
case 6: ausgabe("Samstag"); break;
}
}
kann mir da evtl. einer helfen?
Vielen Dank im Voraus
key