Introduction

This program will ask the user for a person's name and social security number. The program will then check to see if the social security number is valid. An exception will be thrown if an invalid SSN is entered.

Task #1 Understanding a Custom Exception Class

SocSecException.java file gives an example of custom exception class. In java, you can use pre- defined exceptions from J2SE library (check http://docs.oracle.com/javase/7/docs/api/ ), or write a subclass of a pre-defined exceptions. In the subclass, you simply call super class and add specific messages. You do not need to modify the SocSecException.java file.

Task #2 Writing Code to Handle an Exception

Modify SocSecProcessor.java file to handle an exception:

1. In the main method read a name and social security number from the user as Strings. The main method should contain a try-catch statement. This statement tries to check if the social security number is valid by using the method isValid. If the social security number is valid, it prints the name and social security number. If a SocSecException is thrown, it should catch it and print out the name, social security number entered, and an associated error message indicating why the social security number is invalid. A loop should be used to allow the user to continue until the user indicates that they do not want to continue.

2. The static isValid method:

  • This method throws a SocSecException.
  • True is returned if the social security number is valid, false otherwise.
  • The method checks for the following errors and throws a SocSecException with the appropriate message.
    • Number of characters not equal to 11. (Just check the length of the string)
    • Dashes in the wrong spots.
    • Any non-digits in the SSN.
    • Hint: Use a loop to step through each character of the string, checking for a digit or hyphen in the appropriate spots.

3. Compile, debug, and run your program. Sample output is shown below with user input in bold.

OUTPUT (boldface is user input)

Name? Sam Sly
SSN? 333-00-999
Invalid the social security number, wrong number of characters
Continue? y
Name? George Washington
SSN? 123-45-6789
George Washington 123-45-6789 is valid
Continue? y
Name? Dudley Doright
SSN? 222-00-999o
Invalid the social security number, contains a character that is
not a digit
Continue? y
Name? Jane Doe
SSN? 333-333-333
Invalid the social security number, dashes at wrong positions
Continue? n
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.