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+"
 - ");
 - }
 - }