import javax.swing.JOptionPane;
public class Datum{
public static void main (String[] args){
String t,m,j, ausgabe;
int tag,monat,jahr;
//jh steht für das Jahrhundert, d.h. die vorderen zwei Ziffern der Jahreszahl
//ja steht für das Jahr im Jahrhundert, d.h. die beiden letzten Ziffern der Jahreszahl
int jh, ja;
t = JOptionPane.showInputDialog("Geben Sie den Tag ein:");
m = JOptionPane.showInputDialog("Geben Sie den Monat als Zahl ein:");
j = JOptionPane.showInputDialog("Geben Sie das Jahr ein. Es muss zwischen 1900 und 2099 liegen:");
tag = Integer.parseInt(t);
monat = Integer.parseInt(m);
jahr = Integer.parseInt(j);
//Abfrage, ob Datum korrekt eingegeben wurde
if(tag < 1 || tag > 31 || monat< 1 || monat > 12 || jahr < 1900 || jahr > 2099){
JOptionPane.showMessageDialog(null,"Sie haben ein falsches Datum eingegeben.\nStarten Sie das Programm neu.\nTschuess");
System.exit(0);
}
jh = jahr/100;
ja = jahr%100;
//Monat ist Januar oder Februar
if ((monat == 1) || (monat == 2)){
monat = monat +9;
ja--;
}
else
monat = monat -3;
//Berechnung
tag = ((146097*jh)/4+(1461*ja)/4+(153*monat+2)/5+tag+1721119)%7;
//Nr. des Tages legt den Wochentag fest, gelöst durch if
ausgabe = "";
if (tag == 0)
ausgabe = "Montag";
if (tag == 1)
ausgabe = "Dienstag";
if (tag == 2)
ausgabe = "Mittwoch";
if (tag == 3)
ausgabe = "Donnerstag";
if (tag == 4)
ausgabe = "Freitag";
if (tag == 5)
ausgabe = "Samstag";
if (tag == 6)
ausgabe = "Sonntag";
JOptionPane.showMessageDialog(null,"Der "+t+"."+m+"."+j+" ist ein "+ausgabe+".");
}
}