Question

In: Computer Science

Use Java (Science: day of the week) Zeller’s congruence is an algorithm developed by Christian Zeller...

Use Java

(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 :

h = (q + 26(m+1)/10 + k + k/4 + j/4 + 5j) % 7

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.

- j is the century (i.e., year/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 program that prompts the user to enter a year, month, and day of the month, and displays the name of the day of the week.

Sample Run 1

Enter year: (e.g., 2012): 2015
Enter month: 1-12: 1
Enter the day of the month: 1-31: 25
Day of the week is Sunday

Sample Run 2

Enter year: (e.g., 2012): 2012
Enter month: 1-12: 5
Enter the day of the month: 1-31: 12
Day of the week is Saturday

Sample Run 3

Enter year: (e.g., 2012): 2002
Enter month: 1-12: 3
Enter the day of the month: 1-31: 26
Day of the week is Tuesday

Sample Run 4

Enter year: (e.g., 2012): 2008
Enter month: 1-12: 1
Enter the day of the month: 1-31: 1
Day of the week is Tuesday

Sample Run 5

Enter year: (e.g., 2012): 2000
Enter month: 1-12: 2
Enter the day of the month: 1-31: 12
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.)

Class Name: Exercise03_21

If you get a logical or runtime error, please refer https://liveexample.pearsoncmg.com/faq.html.

Solutions

Expert Solution

Sol: Here is the java code with a sample output below.

// Java program to find Find the Day 
// for a Date 
import java.util.*; 

public class Main
{ 
        // Print Day for a Date 
        static void Zellercongruence(int day, int month, 
                                                                int year) 
        { 
                if (month == 1) 
                { 
                        month = 13; 
                        year--; 
                } 
                if (month == 2) 
                { 
                        month = 14; 
                        year--; 
                } 
                int q = day; 
                int m = month; 
                int k = year % 100; 
                int j = year / 100; 
                int h = q + 13*(m + 1) / 5 + k + k / 4 + j / 4 + 5 * j; 
                h = h % 7; 
                switch (h) 
                { 
                        case 0 : System.out.println("Saturday"); break; 
                        case 1 : System.out.println("Sunday"); break; 
                        case 2 : System.out.println("Monday"); break; 
                        case 3 : System.out.println("Tuesday"); break; 
                        case 4 : System.out.println("Wednesday"); break; 
                        case 5 : System.out.println("Thursday"); break; 
                        case 6 : System.out.println("Friday"); break; 
                } 
        } 
        
        // Driver code 
        public static void main(String[] args) 
        { 
                Scanner sc=new Scanner(System.in);
            System.out.println("Enter Year: (e.g., 2012): ");
            int year=sc.nextInt();
            System.out.println("Enter month: 1-12: ");
            int m=sc.nextInt();
            System.out.println("Enter the day of the month: 1-31: ");
            int q=sc.nextInt();

        Zellercongruence(q, m, year); //date (dd/mm/yyyy) 
        } 
}

Sample Output:


Related Solutions

Homework – Zeller’s Algorithm Pt2 Zeller’s algorithm computes the day of the week on which a...
Homework – Zeller’s Algorithm Pt2 Zeller’s algorithm computes the day of the week on which a given date will fall (or fell). You are provided this algorithm in CANVAS. In this task, you must transform the provided solution to a “Defined Function” Function Name zelleralg Input Parameters • month • day • year Return Values The result from the algorithm. This is a number (0-6) that corresponds to the day of the week, where 0 represents Sunday, 1 is Monday,...
how to correct this java code so that i get the correct day of week? and...
how to correct this java code so that i get the correct day of week? and test the year public static void main(String[] args) {        //               Scanner s = new Scanner(System.in); //needed info //year month, day int year, month, dayOfMonth; // add day of week , century yr int dayOfWeek, century, yearOfCentury;    //user inputs year System.out.print("Enter year: (example, 2020):"); year = s.nextInt(); //user inputs month by number System.out.print("Enter month: 1-12:"); month = s.nextInt();...
USE PYTHON to find out What day of the week is a given date? i.e. On...
USE PYTHON to find out What day of the week is a given date? i.e. On what day of the week was 5 August 1967? if it is given that 1 January 1900 was a tuesday Write a function is_leap() which takes 1 input argument, an integer representing a year, and returns True if the year was a leap year, and False if it was not. .Then, write a function days_since() which takes 3 input integers day, month, year, representing...
**JAVA LANGUAGE** This assignment will use the Employee class that you developed for assignment 6. Design...
**JAVA LANGUAGE** This assignment will use the Employee class that you developed for assignment 6. Design two sub- classes of Employee...FullTimeEmployee and HourlyEmployee. A full-time employee has an annual salary attribute and may elect to receive life insurance. An hourly employee has an hourly pay rate attribute, an hours worked attribute for the current pay period, a total hours worked attribute for the current year, a current earnings attribute (for current pay period), a cumulative earnings attribute (for the current...
IN JAVA USING loops, Arrays, filewriter/reader/exceptions, I dont think we are allowed to use arraylists/algorithm constraints...
IN JAVA USING loops, Arrays, filewriter/reader/exceptions, I dont think we are allowed to use arraylists/algorithm constraints THE TWO FILES ARE LISTED AFTER THE QUESTION(CDDriver.java and TextMenu.java) Lab 14 Array of Objects and File IO The following exercises are to be completed during lab class. If you do not have time to finish during lab, they must be completed before the beginning of the following lab session. Set-Up  Import the following file (See below) o CDDriver.java o TextMenu.java Import the...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT