상냥한 세상 :: [대학교 과제]Columbia University COMS|Introduction of Java 2nd Project

본문으로 바로가기

  • 문제


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);


        //Again button
        String buttonStart;

        //system confirmation. If it is true, system run. False, system break.
        boolean confirm=true;

        //year(such as 1800 or 2001).
        int y=0;



        while (confirm) {
            System.out.print("Please enter the year that you want to calculate: ");
            y = in.nextInt();
            if (y > 0) {

                //Divide y by 19 and call the remainder a. Ignore the quotient.
                int a = y % 19;

                //Divide y by 100 to get a quotient b and a remainder c
                int b = y / 100;
                int c = y % 100;

                //Divide b by 4 to get a quotient d and a remainder e.
                int d = b / 4;
                int e = b % 4;

                //Divide 8*b+13 by 25 to get a quotient g. Ignore the remainder.
                int g = (8 * b + 13) / 25;

                //Divide 19*a+b-d-g+15 by 30 to get a remainder h. Ignore the quotient.
                int h = (19 * a + b - d - g + 15) % 30;

                //Divide c by 4 to get a quotient j and a remainder k.
                int j = c / 4;
                int k = c % 4;

                //Divide a+11*h by 319 to get a quotient m. Ignore the remainder.
                int m = (a + 11 * h) / 319;

                //Divide 2*e+2*j-k-h+m+32 by 7 to get a remainder r. Ignore the quotient.
                int r = (2 * e + 2 * j - k - h + m + 32) % 7;

                //Divide h-m+r+90 by 25 to get a quotient n. Ignore the remainder.
                int n = (h - m + r + 90) / 25;

                //Divide h-m+r+n+19 by 32 to get a remainder p. Ignore the quotient.
                int p = (h - m + r + n + 19) % 32;


                System.out.println("Easter Sunday is.." + n + " Month " + p + " Day");


                System.out.print("Do you want to calculate again?: Y/N ");
                buttonStart = in.next();

                if (buttonStart.equals("Y")||buttonStart.equals("y")) {
                    System.out.println("Request Accepted");
                    continue;
                }
                else if(buttonStart.equals("N")||buttonStart.equals("n")){
                    System.out.println("Program end");
                    System.exit(0);
                }
            }
            else {
                System.out.println("System error. Re-enter your request again.");
                break;
            }
        }
    }
}

결과문