Heyho,
ich möchte wenn man ein Datum in das Programm eingibt, den entsprechenden
Wochentag ausgeben lassen. Allerdings nur später als Jahr 1900.
Das Programm steht soweit, es scheint nur kleine Probleme mit der Abstimmung
der Schaltjahre zu geben. Für das heutige Datum stimmt der Wochentag, für
den 30.06.2004 beispielsweise, stimmt das Datum nicht.
Hab verschiedene Dinge ausprobiert und finde die "Feinabstimmung" nicht ^^
ich möchte wenn man ein Datum in das Programm eingibt, den entsprechenden
Wochentag ausgeben lassen. Allerdings nur später als Jahr 1900.
Das Programm steht soweit, es scheint nur kleine Probleme mit der Abstimmung
der Schaltjahre zu geben. Für das heutige Datum stimmt der Wochentag, für
den 30.06.2004 beispielsweise, stimmt das Datum nicht.
Hab verschiedene Dinge ausprobiert und finde die "Feinabstimmung" nicht ^^
Java:
import java.util.Scanner;
public class Datum_Tag
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int jahr, monat, tag;
int wochentag;
int schaltjahr;
System.out.print("Geben sie den Tag ein: ");
tag = input.nextInt();
System.out.print("Geben sie den Monat ein: ");
monat = input.nextInt();
System.out.print("Geben sie das Jahr ein: ");
jahr = input.nextInt();
wochentag = (jahr - 1900) * 365 + (jahr - 1900)/4;
if (jahr%4==0 && (jahr%100!=0 || jahr%400==0))
{
wochentag++;
}
switch (monat)
{
case 12 : wochentag += 30;
case 11 : wochentag += 31;
case 10 : wochentag += 30;
case 9 : wochentag += 31;
case 8 : wochentag += 31;
case 7 : wochentag += 30;
case 6 : wochentag += 31;
case 5 : wochentag += 30;
case 4 : wochentag += 31;
case 3 : wochentag += 28;
case 2 : wochentag += 31;
}
wochentag = (wochentag + tag)%7;
switch (wochentag)
{
case 0 : System.out.println("Der Tag ist ein Sonntag!");
break;
case 1 : System.out.println("Der Tag ist ein Montag!");
break;
case 2 : System.out.println("Der Tag ist ein Dienstag!");
break;
case 3 : System.out.println("Der Tag ist ein Mittwoch!");
break;
case 4 : System.out.println("Der Tag ist ein Donnerstag!");
break;
case 5 : System.out.println("Der Tag ist ein Freitag!");
break;
case 6 : System.out.println("Der Tag ist ein Samstag!");
break;
}
}
}