Creating a contacts application, Computer Engineering

Assignment Help:

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"


Related Discussions:- Creating a contacts application

Prove boolean identities using boolean algebra, Prove the following Boolean...

Prove the following Boolean identities using the laws of Boolean algebra: ABC + AB ‾C + ABC ‾ = A(B + C) Ans. ABC+AB'C+ABC'=A(B + C) LHS AC(B+B')+AB(C+C') OR  AC+AB OR  A(B

Basic working of semiconductors, Q. Basic working of Semiconductors? Se...

Q. Basic working of Semiconductors? Semiconductors are crystalline solid materials whose resistivities have values between those of conductors and insulators. Conductivity rang

Prove using boolean algebra, Q. Prove using Boolean Algebra 1. AB + AC ...

Q. Prove using Boolean Algebra 1. AB + AC + BC' = AC + BC' 2. (A+B+C) (A+B'+C') (A+B+C') (A+B'+C)=A 3. (A+B) (A'+B'+C) + AB = A+B 4. A'C + A'B + AB'C + BC = C + A'B

Explain the technique used in asymmetric key cryptography, Explain the tech...

Explain the technique used in the asymmetric Key Cryptography. Asymmetric or public-key cryptography be different from conventional cryptography in which key material is bound

What are the differences between one hot and binary encoding, What are the ...

What are the differences between one hot and binary encoding? Common classifications used to explain the state encoding of an FSM is Binary or highly encoded and one hot. A bin

What is memory controller, What is memory controller? A memory controll...

What is memory controller? A memory controller is a circuit which is interposed among the processor and the dynamic memory. It is used for performing multiplexing of address bi

Higher order predicate logic, Higher Order Predicate Logic : In the v...

Higher Order Predicate Logic : In the very first order predicate logic, we are only allowed to quantify over objects. If we are considered to allow ourselves to quantify over

JSP, What is java server pages

What is java server pages

What is time multiplexed space switching, What is time multiplexed space sw...

What is time multiplexed space switching? Explain w ith a neat diagram. Time division switches, an inlet or an outlet corresponded to a particular subscriber line with one s

Explain essential properties of real time operating system, Describe the es...

Describe the essential properties of the Real Time operating systems. Real time operating system has following essential properties: Time constraint result Priority

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd