Hallo, ich habe folgenden Code, der auch meistens funktioniert, aber nicht immer.
Bei der Ausgabe wird manchmal von m zwei abgezogen und somit falsch angezeigt. Ich weiß aber nicht woran das liegt, vor allem weil es ja manchmal funktioniert.
Würde mich freuen wenn mir jemand helfen könnte.
Liebe Grüße
Hab es mit 24.12.2001 ausprobiert, angezeigt wird 24.10.2001
Code:
import static Prog1Tools.IOTools.*;
public class Aufgabe5_14 {
public static void main (String[] args) {
int t=readInteger("Bitte geben Sie einen Tag ein: ");
int m=readInteger("Bitte geben Sie einen Monat ein: ");
int j=readInteger("Bitte geben Sie ein Jahr ein: ");
int c;
int y;
int h;
String wochentag="";
if (m<=2) {
m=m+10;
j=j-1;
}
else
{
m=m-2;
}
c=j/100;
y=j%100;
h=(((26*m-2)/10)+t+y+y/4+c/4-2*c)%7;
if (h<0) {
h=h+7;
}
switch (h) {
case 0: wochentag="Sonntag"; break;
case 1: wochentag="Montag"; break;
case 2: wochentag="Dienstag"; break;
case 3: wochentag="Mittwoch"; break;
case 4: wochentag="Donnerstag"; break;
case 5: wochentag="Freitag"; break;
case 6: wochentag="Samstag"; break;
}
System.out.println("Der "+t+"."+m+"."+j+" ist ein "+wochentag+".");
}
}
Würde mich freuen wenn mir jemand helfen könnte.
Liebe Grüße
Hab es mit 24.12.2001 ausprobiert, angezeigt wird 24.10.2001