Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a class named MonthDays. The class’s constructor should accept two argumen

ID: 672563 • Letter: W

Question

Write a class named MonthDays. The class’s constructor should accept two arguments:
l An integer for the month (1 = January, 2 February, etc).
l An integer for the year
The class should have a method named getNumberOfDays that returns the number of days
in the specified month. The method should use the following criteria to identify leap years:
1. Determine whether the year is divisible by 100. If it is, then it is a leap year if and
if only it is divisible by 400. For example, 2000 is a leap year but 2100 is not.
2. If the year is not divisible by 100, then it is a leap year if and if only it is divisible
by 4. For example, 2008 is a leap year but 2009 is not.
Demonstrate the class in a program that asks the user to enter the month (letting the user
enter an integer in the range of 1 through 12) and the year. The program should then display
the number of days in that month. Here is a sample run of the program:
Enter a month (1-12): 2 [Enter]
Enter a year: 2008 [Enter]
29 days

Explanation / Answer

public class MonthDays {

public MonthDays(int aYear, int aMonth)
{
year= aYear;
month=aMonth;
  
}
  
public int getNumberOfDays()
{
int days = DAYS_PER_MONTH[month-1];
if (month==2 && isLeapYear(year))
days++;
return days;
}
  
private boolean isLeapYear(int y)
{
if (year%100==0)
{
if(year%400==0)
return true;
}
else
{
if(year%4==0)
return true;
}
return false;
}
  
private int year;
private int month;
private static final int[] DAYS_PER_MONTH
= {31,28,31,30,31,30,31,31,30,31,30,31};
}

//--------------------------------------------------------------------------

import java.util.Scanner;
public class Test
{
static Scanner sc = new Scanner(System.in);
public static void main(String[] args)
{

int aMonth, aYear, days;
System.out.println ("Enter a month (1-12): ");
aMonth = sc.nextInt();
System.out.println ("Enter a year: ");
aYear = sc.nextInt();
MonthDays test= new MonthDays(aYear,aMonth);
days=test.getNumberOfDays();
System.out.println ("" + days +" days ");
}
}

/*************************************************************************

If you have any question about it, please leave me a comment

***************************************************************************/

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote