I need to get a simple java project done within 5 hours. Its an Address book . The program should be able to load data from a text file and also save into it. There are some other simple requirements as well. Let me know if youre interested. It shouldn't take too long to finish. I need it done ASAP!
GOAL and Outcomes:
This project will serve you in developing your OOP skills through developing an Address Book Console Application that requires assembling a solution out of modular classes, giving each class a good API for its client(s) and testing. This requires:
you to do "Divide and Conquer" a strength of OOP design that lets you use modularity and encapsulation to divide a problem into more than one smaller problem.
you to develop Unit Testing Code - taking in part advantage of some Test Driven (maybe we should call it Test Assisted) Design/Implementation.
use of Collections in Java to implement Data Structures need.
you to efficiently solve some of the problem using algorithms you learned about in Data Structures and Algorithms class. You want to write classes (methods) that run quickly.
you to create a single, static AddressBook instance that all other classes and the client code will access. In OOP, this is sometimes called a "singleton" pattern, since there is only one instance of the object and the other classes are always given a point to that one instance.
I am going to help you out by paritally specifying some of the OOP design you MUST adhere to. Here is a list of classes that you must implement and their meanings:
AddressBook - this class represents and contains a possibly every growing and/or shrinking "list" of AddressEntries. It allows for various operations such as search/find, addition and removal of AddressEntries.
you need to think about the efficiency of operations needed --see below example session --list alphabetic order (sorted), add, remove, find (search), store to file , read in from file
AddressEntry - this class represents a single Address/Contact information entry in the AddressBook
It should contain contructors, at least one constructor…one that accepts a first, last name, street, city, state, zip, email, phone.
contain separate class varaibles representing all the information in an AddressEntry contact.
It should cotain a toString() method that returns a nicely formats a string containing all contact information for printing to console
It should contain a toFile() method that returns a nicely formats a string containing all contact information for saving to a file.
It should contain setX() and getX() methods where X are the class variables. (for example, setName(***) and getName() where *** are appropriate parameter(s) )
AddressBookApplication - this contains the main application class.
Uses Menu classes and AddressBook as described in this document.
Menu- this class is used to display menu options to the user. This includes
a) Loading of entries from a file.
b) Addition - prompting user for information to be used to create a new AddressEntry
c) Removal - removing of an AddressEntry from the AddressBook. First a find is done (see below example session) and then the user selects from the find results what entry to remove.
d) Find - prompts users for the begining of the users last name (they can enter a complete last name or just the start....all entries with that as the first part of their last name will be displayed). Note in the case when more then one entry is found a set will be returned.
e) Listing - listing (a "dump") of the addresses in alphabetic order by the person's last name.
f) Save and Quit - here the user gives name of file where entire current (in memory) AddressBook is dumped --in format that can be read in using option a!!!