112 Chapter 3 Selections Comprehensive *3.2 (Science: day of the week) Zeller\'s
ID: 3592039 • Letter: 1
Question
112 Chapter 3 Selections Comprehensive *3.2 (Science: day of the week) Zeller's congruence is an algorithm developed by Christian Zeller to calculate the day of the week. The formula is 26(m + 1) 10 where ·h is the day of the week (0: Saturday, 1: Sunday, 2: Monday, 3: Tuesday, 4: Wednesday, 5: Thursday, 6: Friday) ·q is the day of the month. ·m is the month (3: March, 4: April, , 12: December). January and February are counted as months 13 and 14 of the previous year. year J is the century (i.e 100 ·k is the year of the century (i.e., year % 100) Note that the division in the formula performs an integer division. Write a pro- gram that prompts the user to enter a year, month, and day of the month, and displays the name of the day of the week. Here are some sample runs Enter year: (e.g., 2012): 2015 Enter Enter month: 1-12: 1 Enter Enter the day of the month: 1-31: 25 Enter Day of the week is Sunday Enter year: (e.g., 2012): 2012 Enter Enter month: 1-12: 5 Enter Enter the day of the month: 1-31: 12 Enter Day of the week is Saturday (Hint January and February are counted as 13 and 14 in the formula, so you need to convert the user input 1 to 13 and 2 to 14 for the month and change the year to the previous year.)Explanation / Answer
FindDayOfTheWeek.java
import java.util.Scanner;
public class FindDayOfTheWeek {
public static void main(String[] args) {
//Declaring variables
int year, month, day, weekday, q, m, k, j, h;
String days[] = {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };
/*
* Creating an Scanner class object which is used to get the inputs
* entered by the user
*/
Scanner sc = new Scanner(System.in);
//Getting the input entered by the user
System.out.print("Enter year:(e.g., 2012):");
year = sc.nextInt();
System.out.print("Enter month: 1-12:");
month = sc.nextInt();
System.out.print("Enter day of the month: 1-31:");
day = sc.nextInt();
if (month == 1 || month == 2) {
m = month + 12;
year = year - 1;
} else {
m = month;
}
q = day;
j = year / 100;
k = year % 100;
//Calculating the day of the week
h = (q + (26 * (m + 1) / 10) + k + (k / 4) + (j / 4) + (5 * j)) % 7;
//Displaying the output
System.out.println("Day of the week is " + days[h]);
}
}
_____________
Output#1
Enter year:(e.g., 2012):2015
Enter month: 1-12:1
Enter day of the month: 1-31:25
Day of the week is Sunday
____________
Output#2
Enter year:(e.g., 2012):2012
Enter month: 1-12:5
Enter day of the month: 1-31:12
Day of the week is Saturday
_____________Could you rate me well.Plz .Thank You
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.