public class Wochentag { public static void main(String[] args) { int T = Eingabe.readInt("Bitte den Tag des Monats eingeben (Zahl): "); int Nt = T % 7; // Tagesziffer, siehe Wikipedia int [] Mz = { 0,3,3,6,1,4,6,2,5,0,3,5 }; // Tabelle siehe Wikipedia! int M = Eingabe.readInt("Bitte den Monat (1...12) eingeben: "); int Nm = Mz[M-1]; int J = Eingabe.readInt("Bitte das Jahr als vierstellige Zahl eingeben: "); int Jz = J % 100; // Nur die letzten beiden Ziffern int Njz = (Jz + Jz / 4) % 7; int Jh = J / 100; // Nur die ersten beiden Ziffern int Njh = (3 - (Jh % 4)) * 2; int Nsj = 0; // Falls Datum im Januar oder Februar eines Schaltjahres: Nsj = -1! if( M <= 2){ // Schaltjahr-Berechnung analog Übung 7 if ((J % 4 == 0) && ( (J % 100 != 0) || (J % 400 == 0) ) ) Nsj = -1; } int W = (Nt + Nm + Njh + Njz + Nsj ) % 7; // Berechnung des Wochentags als Zahl String [] tag = { "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" }; System.out.println( tag[ W ]); // Lookup Zahl -> String des Wochentags } }