/* ------------------------------------------------------------------------------------ *\
Wochentag.java
Bestimmt zu einem vom Benutzer eingegebenen Datum den Wochentag
\* ------------------------------------------------------------------------------------ */
public class Wochentag
{
public static void main(String[] args)
{
int w_tag;
System.out.println("Bestimmung des Wochentags aus dem Datum");
System.out.print("Tag (xx) : ");
int tag = Stdin.intEingabe();
System.out.print("Monat (xx) : ");
int monat = Stdin.intEingabe();
System.out.print("Jahr (xxxx) : ");
int jahr = Stdin.intEingabe();
int h = monat, k = jahr ;
if (monat < 3)
{
h = monat + 12 ;
k = jahr-1 ;
}
w_tag = (tag+2*h + (3*h+3)/5 + k + k/4 - k/100 + k/400 + 1)%7 ;
if (w_tag==0)
System.out.println("Sonntag");
else if (w_tag==1)
System.out.println("Montag");
else if (w_tag==2)
System.out.println("Dienstag");
else if (w_tag==3)
System.out.println("Mittwoch");
else if (w_tag==4)
System.out.println("Donnerstag");
else if (w_tag==5)
System.out.println("Freitag");
else if (w_tag==6)
System.out.println("Samstag");
} // end main
} // end class
Die Mehrfachverzweigung kann statt mit else if auch mit
switch realisiert werden.
public class Wochentag2
{
public static void main(String[] args)
{
int w_tag;
System.out.println("Bestimmung des Wochentags aus dem Datum");
System.out.print("Tag (xx) : ");
int tag = Stdin.intEingabe();
System.out.print("Monat (xx) : ");
int monat = Stdin.intEingabe();
System.out.print("Jahr (xxxx) : ");
int jahr = Stdin.intEingabe();
int h = monat, k = jahr ;
if (monat < 3)
{
h = monat + 12 ;
k = jahr-1 ;
}
w_tag = (tag+2*h + (3*h+3)/5 + k + k/4 - k/100 + k/400 + 1)%7 ;
switch (w_tag)
{
case 0 : System.out.println("Sonntag");
break;
case 1 : System.out.println("Montag");
break;
case 4 : System.out.println("Donnerstag");
break;
case 2 : System.out.println("Dienstag");
break;
case 5 : System.out.println("Freitag");
break;
case 3 : System.out.println("Mittwoch");
break;
case 6 : System.out.println("Samstag");
break;
default: System.out.println("gibts nicht");
} // end switch
} // end main
} // end class