Gaußsche Ostersonntag

Uzi88

Mitglied
hi ich muss den Ostersonntag aus rechen nach der Gauß formel...
das ist die aufgabe: http://puu.sh/5Pz9L.png

ich hab so angefangen und meine das wäre richtig so ^^

Java:
import java.util.Scanner;


public class Aufgabe43 {

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		System.out.println("Jahr?");
		int jahr =  scan.nextInt();

		
		int M = 22;
		int N = 2; 
		int A = jahr%19;
		int B = jahr%4;
		int C = jahr%7;
		int D = (19*A+M)%30;
		int E = (2*B + 4*C + 6*D + N)% 7;

		
		
		int ostern;
		ostern = 22 + D + E;
		
		if(ostern > 31)
		{
			ostern = D+E-9;
		} 
		
			
		
	

		
		System.out.println("ostern: " + ostern);

	} 

}

jetzt aber habe ich einige problem..
erstens:
wie mache ich das wenn das jahr von/bis eingegeben wird das er zahl sowieso nimmt und wenn ich jahr von/bis eingebe zahl sowieso.... also eben die erste tabelle. http://puu.sh/5PzkZ.png

zweitens:
wie stelle ich ein das wenn 26. april raus kommt er dann 19 einsetzt. ich hab es mit "if" versucht also
" if(ostern = 26){....}" aber der zeigt mir dann fehler an.


hoffe ich hab mich gut ausgedruckt und ihr habt verstanden was los ist ^^
 

Uzi88

Mitglied
ok ich habs selbst raus gefunden ^^

Java:
import java.util.Scanner;


public class Aufgabe43 {
	

	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		System.out.println("Jahr?");
		int jahr =  scan.nextInt();

		int M = 1;
		int N = 1; 
		
        if(jahr >= 1583 && jahr <=1699)
        {
                M = 22;
                N = 2;
        }
        else if(jahr <= 1799)
        {
                M = 23;
                N = 3;
        }
        else if(jahr <= 1899)
        {
                M = 23;
                N = 4;
        }
        else if(jahr <= 2099)
        {
                M = 24;
                N = 5;
        }
        else if(jahr <= 2199)
        {
                M = 24;
                N = 6;
        }
        else {
        	
        	System.out.println("das Jahr muss zwischen 1583 und 2199 liegen");
               

       }
		

		int A = jahr%19;
		int B = jahr%4;
		int C = jahr%7;
		int D = (19*A+M)%30;
		int E = (2*B + 4*C + 6*D + N)% 7;

		
		
		int ostern;
		ostern = 22 + D + E;

		
		
		
		if(ostern > 31)
		{
			ostern = D+E-9;
			System.out.println(ostern+ ". April");
			
		}
		else if(ostern == 25 && D == 28 && E == 6 && A > 10)
		{
			ostern = 18;
			System.out.println(ostern+ ". April");
		}
		else{
			ostern = 22 + D + E;
			System.out.println(ostern+ ". März");
			
		}
	}
}
 

Ähnliche Java Themen

Neue Themen


Oben