Creating a contacts application:
First, a contact is defined as the tuple: firstName, lastName, phoneNumber and email.
You will create a class Contact that allows getting and setting of these variables as well as a toString() method.
Second, a ContactBook class should be able to search, create, or modify a contact.
A main class (call it whatever you want) should offer a menu with options.
When adding, the input from the user is gathered and the method ContactBook.addContact(Contact c) will store that contact in memory.
If the user is searching, the program gets the user input and then calls the method ContactBook.search(String lastName). This method should return an ArrayList with all the contacts that matched the criteria. for example, a call to search("Jon") will return an array list with the contacts for "Jones" and "Jonowsky" and any other contact whose last name starts with "Jon". Your search should ignore cases.
If the user wants to modify a contact, the first thing to ask for is that contact's last name. Then the program will search based on that last name (or portion of it, just like the search functionality) using the search method defined earlier. Then the computer should display them with a number next to them (1,2,3...). Then the computer will prompt the user "Which contact do you want to modify" and will expect a number. Then it should enter into a modify screen that will ask the user to modify the values of last name, first name, phone and email. If users just presses enter, the old values are kept. If the user types in something then a new value will be set. After collecting the input of the user, your program should call a method from ContactBook called updateContact(Contact c, String firstName, String lastName, String phone, String email), where c is the contact to modify.
When the user quits (by pressing "q") or saves (by pressing "s") Your contact list should be saved as a Comma Separated values. That is, each line in the file should contain LastName,firstName,phone,email
When the program starts, if the contacts file is present, it should read it and populate the list of contacts.
The contact file should be called "contacts.csv"