Question: Writing a Modular Program in Java Summary In this lab, you add the input and output statements to a partially completed Java program. When completed,
Writing a Modular Program in Java
Summary
In this lab, you add the input and output statements to a partially completed Java program. When completed, the user should be able to enter a year, a month, and a day to determine if the date is valid. Valid years are those that are greater than 0, valid months include the values 1 through 12, and valid days include the values 1 through 31.
Instructions
- Notice that variables have been declared for you.
- Write the simulated housekeeping() method that contains input statements to retrieve a yearString, a monthString, and a dayString from the user.
- Add statements to the simulated housekeeping() method that convert the String representation of the year, month, and day to ints.
- Include the output statements in the simulated endOfJob() method. The format of the output is as follows:
month/day/year is a valid date. or month/day/year is an invalid date.
- Execute the program entering the following date:
month = 5, day = 32, year =2014
Observe the output of this program. - Execute the program entering the following date:
month = 9, day = 21, year = 2002
Observe the output of this program.



/* Program Name: BadDate.java Function: This program determines if a date entered by the user is valid. Input: Interactive Output: Valid date is printed or user is alerted that an invalid date was entered. */ import javax.swing.JoptionPane; public class BadDate { private static final int MINIMUM_YEAR = 0, MINIMUM_MONTH = 1, MAXIMUM_MONTH = 12, MINIMUM_DAY = 1, MAXIMUM_DAY = 31; private int year = 0; private int month = 0; private int day = 0; public void housekeeping() { string yearData = JOptionPane.showInputDialog("Enter year"); String monthData = JOptionPane.showInputDialog("Enter month"); String dayData = JOptionPane.showInputDialog("Enter day"); this.year = Integer.parseInt(yearData); this.month = Integer.parseInt(monthData); this.day = Integer.parseInt(dayData); } public boolean isLeapYear() { if(((this.year % 400) 0) || (((this.year % 4) == 0) && ((this.year % 100) != 0))) return true; return true; else return false; } public void endofJob() { boolean validDate = true; if((month
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
