- 문제
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;
}
}
}
}
결과문