Quellcode
- public class ostern {
- public static void main(String[] args) {
- //Klasse für die Tastatureingabe
- java.util.Scanner input = new java.util.Scanner(System.in);
- //Prompt ~ Eingabeaufforderung
- System.out.print("Bitte geben Sie eine Jahreszahl ein: ");
- //Variable mit dem Wert der Tastatureingabe wird initialisiert
- int J = input.nextInt();
- //restliche Variablen werden initialisiert
- //Variablen die nur einer einer if/else Bedingung vorkommen, bekommen einen Wert zugewiesen
- int m=0,n=0,a,b,c,d,e,tag=0;
- String monat="";
- //Die Bedingungen für m und n
- //für die Jahreszahlen von 1583 bis 2299
- if(J >=1583 && J<1700)
- { m=22; n=2; }
- else if(J >=1700 && J<1800)
- { m=23; n=3; }
- else if(J >=1800 && J<1900)
- { m=23; n=4; }
- else if(J >=1900 && J<2100)
- { m=24; n=5; }
- else if(J >=2100 && J<2200)
- { m=25; n=6; }
- else if(J >=2200 && J<2300)
- { m=25; n=0; }
- else
- { System.err.println("
- Ungueltige Eingabe"); System.exit(0); }
- //Die Rechnungen die uns alle glcklich machen
- // Modulus
- a = J % 19;
- b = J % 4;
- c = J % 7;
- d = ((19*a)+m) % 30;
- e = ((2*b)+(4*c)+(6*d)+n) % 7;
- if((d+e) <= 9) {
- tag = 22+d+e;
- monat = "Maerz";
- } else if((d+e) > 9) {
- tag = d+e-9;
- tag = tag==26 ? 19 : tag;
- tag = (tag==25) && (d==28) && (e==6) && (a>10) ? 18 : tag;
- monat = "April";
- }
- System.out.println("
- Im Jahre "+J+" faellt Ostern auf den "+tag+". "+monat+"
- ");
- }
- }