Question: Problem Specification Create a ( simplified ) contact book! Write a java program to add contact information to a contact record and display the contact

Problem Specification
Create a (simplified) contact book! Write a java program to add contact information to a contact record and display the contact details!
In this challenge, create 2 domain classes called Contact and Address and one driver class called ContactBook. For each domain class, write the constructor, toString method, and getters/setters for each attribute.
The Address class will contain the following private attributes:
Street number (int)
Street name (String)
Zip Code (int)
City (String)
State (String)
The Contact class will contain the following private attributes:
First name (String)
Last name (String)
Birthday (String with format of mm/dd/yyyy)
Phone number (String)
Email address (String)
Home address (Address)
Write a driver class called ContactBook that has the following methods
createAddressRecord()
Asks the user via the console for the street name, street number, zip code, city, and state of an address and instantiates an Address object with that information. Returns the newly constructed Address object.
createContactRecord(Address homeAddress)
Asks the user via the console for the first name, last name, birthday, phone number, and email address of a contact and instantiates a Contact object with that information. Returns the newly constructed Contact object.
showContactDetails(Contact contact)
Prints the message Here is the contact info for and concatenates contacts first & last names. Then prints the contact object information. Remember that toString method is not called explicitly.
main()
Calls createAddressRecord method which will return an Address object
Calls createContactRecord method which will return a Contact object
Repeats steps 1 & 2 to create 3 different contact objects.
Calls showContactDetails method 3 times (once for each Contact object)
Example Output
Contact Book!
Add new address:
Enter the street number: 30
Enter the street name: Hillwood Street
Enter the ZIP code: 98101
Enter the city: Seattle
Enter the state: WA
Add new contact:
Enter the first name: Arnold
Enter the last name: Shortman
Enter the birthday (mm/dd/yyyy): 10/07/1994
Enter the phone number: (206)555-1212
Enter the email address: footballhead@heyarnold.com
Contact 1 Saved!
Add new address:
Enter the street number: 667
Enter the street name: Dimmsdale Drive
Enter the ZIP code: 1313
Enter the city: Dimmsdale
Enter the state: CA
Add new contact:
Enter the first name: Timmy
Enter the last name: Turner
Enter the birthday (mm/dd/yyyy): 03/21/1992
Enter the phone number: (123)456-7890
Enter the email address: timmy.turner@fairlyoddparents.com
Contact 2 Saved!
Add new address:
Enter the street number: 401
Enter the street name: Middleton Way
Enter the ZIP code: 90210
Enter the city: Middleton
Enter the state: CA
Add new contact:
Enter the first name: Kim
Enter the last name: Possible
Enter the birthday (mm/dd/yyyy): 07/17/1992
Enter the phone number: (310)555-8888
Enter the email address: call.me.beep.me@kimpossible.com
Contact 3 Saved!
Here are the contact details for Arnold Shortman:
Contact{firstname: 'Arnold', lastname: 'Shortman', birthday: '10/07/1994', phoneNumber: '(206)555-1212', email: 'footballhead@heyarnold.com', homeAddress: Address{number: 30, street: 'Hillwood Street', city: 'Seattle', state: 'WA', zipCode: 98101}}
Here are the contact details for Timmy Turner:
Contact{firstname: 'Timmy', lastname: 'Turner', birthday: '03/21/1992', phoneNumber: '(123)456-7890', email: 'timmy.turner@fairlyoddparents.com', homeAddress: Address{ number: 667, street: 'Dimmsdale Drive', city: 'Dimmsdale', state: 'CA', zipCode: 1313}}
Here are the contact details for Kim Possible:
Contact{firstname: 'Kim', lastname: 'Possible', birthday: '07/17/1992', phoneNumber: '(310)555-8888', email: 'call.me.beep.me@kimpossible.com', homeAddress: Address{number: 401, street: 'Middleton Way', city: 'Middleton', state: 'CA', zipCode: 90210}}
Submission
You need to submit a single file named ContactBook.java.
Grading Criteria
Code readability: 10%
Using comments to explain logic: 10%
Correctness of Java syntax (no compilation error): 10%
Proper scan of System.in: 10%
Proper usage of methods: 10%
Proper indirect use of toString: 20%
Program displays all required messages when given valid input: 10%
Program displays numeric values to specification: 10%
Passing all tests: 10%

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!