Write a class named MonthDays. The class’s constructor should accept two argumen
ID: 673618 • 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
in JAVA
Explanation / Answer
import java.util.Scanner;
public class MonthDays
{
public static void main(String[] args)
{
//Create scanner object to obtain input from user
Scanner input = new Scanner (System.in);
int MonthNum; //To hold the month from user input
int Year; //To hold the year
int numDays;
String Month = "";
System.out.print("Please enter the Month #");
MonthNum = input.nextInt();
System.out.print("Please enter the Year");
Year = input.nextInt();
if (MonthNum == 2)
{
if ( (Year % 4 == 0) && (Year % 400 == 0)
&& !(Year % 100 == 0) )
numDays = 29;
else
numDays = 28;
}
else if (MonthNum == 1 || MonthNum == 3 || MonthNum == 5 || MonthNum == 7 || MonthNum == 8
|| MonthNum == 10 || MonthNum == 12)
numDays = 31;
else
numDays = 30;
if (MonthNum == 1)
Month = "January";
else if (MonthNum == 2)
Month = "Feburary";
else if (MonthNum == 3)
Month = "March";
else if (MonthNum == 4)
Month = "April";
else if (MonthNum == 5)
Month = "May";
else if (MonthNum == 6)
Month = "June";
else if (MonthNum == 7)
Month = "July";
else if (MonthNum == 8)
Month = "August";
else if (MonthNum == 9)
Month = "September";
else if (MonthNum == 10)
Month = "October";
else if (MonthNum == 11)
Month = "November";
else if (MonthNum == 12)
Month = "December";
System.out.println(Month + " " + Year +" has " + numDays +"." );
System.out.println(Month);
System.out.println(numDays);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.