Concepts tested in this program: • Variables • Input/output • Mathematical opera
ID: 3902975 • Letter: C
Question
Concepts tested in this program: • Variables • Input/output • Mathematical operators • Mathematical statements • Conditional statements (if-then statements) **3.21 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. So, you need to convert the users input 1 to 13 and 2 to 14 for the month. ? 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. Here are some sample runs: CLASS NAME: Your program should be called ZellersCongruence.java
Explanation / Answer
solution:
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.Scanner.*;
class Day
{
static int year,day,m,h;
static float j,k;
public static void main (String[] args) throws java.lang.Exception
{
Scanner reader = new Scanner(System.in);
System.out.print("Enter a year: ");
year = reader.nextInt();
System.out.print(" Enter month: 1: 12");
m = reader.nextInt();
System.out.print(" Enter day of the month: 1-31 : ");
day = reader.nextInt();
if(m<=2)
{
m=m+12;
year--;
}
j = (int)year/100;
k = year%100;
h= (int)((day + (int)((26*(m+1))/10) + k + (int)(k/4) + (int)(j/4) +
5*j)%7);
System.out.print(" the day of the week is : ");
switch(h)
{
case 1:
System.out.print("Sunday");
break;
case 2:
System.out.print("Monday");
break;
case 3:
System.out.print("tuesday");
break;
case 4:
System.out.print("wednesday");
break;
case 5:
System.out.print("thursday");
break;
case 6:
System.out.print("Friday");
break;
default:
System.out.print("Saturday");
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.