Write a class named MonthDays The classs constructor should

Write a class named MonthDays. The class\'s constructor should accept two arguments:

- An integer for the month (1 = January, 2 February,etc).

- 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 ony 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 and integer in the range of 1 though 12) and the year. The program should then diplay 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

Solution

MonthDaysTest.java


import java.util.Scanner;

public class MonthDaysTest {

   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println(\"Enter a month (1-12): \");
       int month = scan.nextInt();
       System.out.println(\"Enter a year: \");
       int year = scan.nextInt();
       MonthDays m = new MonthDays(month, year);
       System.out.println(m.getNumberOfDays()+\" days\");
      

   }

}

MonthDays.java


public class MonthDays {
   private int month ;
   private int year;
   public MonthDays(int m, int y){
       month = m;
       year = y;
   }
   public int getNumberOfDays(){
       int days = 0;
       if(month ==1 || month == 3 || month ==5 || month == 7 || month ==8 || month == 10 || month == 12){
           days = 31;
       }
       else if(month == 4 || month == 6 || month == 9 || month ==11){
           days = 30;
       }
       else if(month == 2){
           if ((year%4 == 0 && year%100 !=0)|| year%400 == 0)
           days = 29;
           else
           days = 28;
       }
       return days;
   }
}

Output:

Enter a month (1-12):
2
Enter a year:
2008
29 days

Write a class named MonthDays. The class\'s constructor should accept two arguments: - An integer for the month (1 = January, 2 February,etc). - An integer for
Write a class named MonthDays. The class\'s constructor should accept two arguments: - An integer for the month (1 = January, 2 February,etc). - An integer for

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site