Java: An Introduction to Problem Solving and Programming (8th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
8th Edition
ISBN: 9780134462035
Author: Walter Savitch
Publisher: PEARSON
Question
Book Icon
Chapter 9, Problem 3PP
Program Plan Intro

Date format converter

Program plan:

“DateFormatConverter.java”:

  • Import required packages.
  • Define the class “DateFormatConverter”.
    • Declare required variables.
    • Define an array and assign it with the months.
    • Define the “main()” method.
      • Do until the user enters other than “Y” or “y”.
        • Inside the “try” block,
          • Get the date from the user.
          • Trim the input.
          • Store the month value in a variable.
          • Check if that value is less than 0.
            • Assign “false” to “validInput”.
            • Throw an exception.
          • Check if month value is less than 1 or greater than 12.
            • Assign “false” to “validInput”.
            • Throw an exception.
          • Otherwise,
            • Get the date value and store it in a variable.
            • Call the function “dayCheck()”.
        • Catch “MonthException”.
          • Print the error message.
        • Check if the function “validInput()” returns true.
          • Print the month name and its date.
        • Get the response from the user whether the user wants to do it again or not.
    • Give function to convert string to integer for month.
      • Get the position of “/”.
      • Check if that position is equal to 2.
        • Return the value.
      • Check if that position is equal to 1.
        • Return the integer value.
      • Otherwise,
        • Return -1.
    • Give function to convert string to integer for day.
      • Get the number of characters.
      • Check if that number is equal to 2.
        • Return the value.
      • Check if that number is equal to 1.
        • Return the integer value.
      • Otherwise,
        • Return -1.
    • Function definition to convert ASCII value to integer.
      • Switch to the digit.
        • Assign the value according to the character digit.
    • Give function definition to check the day.
      • Inside the “try” block,
        • Switch to the month number.
          • If the month number is 1, 3, 5, 7, 8, 10 and 12,
            • Check if the day is less than 1 or greater than 31.
              • Assign “false” to “validInput”.
              • Print the error message.
                • Otherwise,
                  • Assign “true” to “validInput”.
                • Break the case.
          • If the month number is 4, 6, 9 and 11,
            • Check if the day is less than 1 or greater than 30.
              • Assign “false” to “validInput”.
              • Print the error message.
                • Otherwise,
                  • Assign “true” to “validInput”.
                • Break the case.
          • If the month number is 2,
            • Check if the day is less than 1 or greater than 29.
              • Assign “false” to “validInput”.
              • Print the error message.
                • Otherwise,
                  • Assign “true” to “validInput”.
                • Break the case.
      • Inside the “catch” block for “DayException”, print the error message.

“DayException.java”:

  • Define the exception class “DayException”.
    • Define a default constructor.
      • Call the parent class’s method.
    • Define two parameterized constructors.
      • Call the parent class’s method by passing a message.

“MonthException.java”:

  • Define the exception class “MonthException”.
    • Define a default constructor.
      • Call the parent class’s method.
    • Define two parameterized constructors.
      • Call the parent class’s method by passing a message.

Blurred answer
Students have asked these similar questions
We have if statement, and we want to use an exception to check the right input with if-else and how it works
Write a program that prompts the user to enter a person's date of birth in numeric form such as 8-27-1980. The program then outputs the date of birth in the form: August 27, 1980. Your program must contain at least two exception classes: invalidDay and invalidMonth. If the user enters an invalid value for day, then the program should throw and catch an invalidDay object. Similar conventions for the invalid values of month and year. (Note that your program must handle a leap year.)
Write a program that prompts the user to enter a person’s date of birthin numeric form such as 8-27-1980. The program then outputs thedate of birth in the form: August 27, 1980. Your program must containat least two exception classes: invalidDay and invalidMonth.If the user enters an invalid value for day, then the program shouldthrow and catch an invalidDay object. Follow similar conventions forthe invalid values of month and year. (Note that your program musthandle a leap year.)

Chapter 9 Solutions

Java: An Introduction to Problem Solving and Programming (8th Edition)

Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,