Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a Java menu-driven program that creates and manipulates a directory of nam

ID: 440805 • Letter: W

Question

Write a Java menu-driven program that creates and manipulates a directory of names, telephone numbers, and home addresses. | The following information will be stored for each person in the directory: Name (Last. First) Home address (street address, city, state, zip code) Home telephone number Your program should be able to perform the following basic functions: Display the entire directory Search and display the contents of a particular entry Soil the entire collection by key value (the combination of last and first names) Delete an existing entry Insert an entry to the end of the directory list Save the entire directory to a file

Explanation / Answer

please rate - thanks


import java.util.*;

import java.io.*;

public class Directory

{public static void main(String[] args)throws FileNotFoundException

{ ArrayList<Person> personList = new ArrayList<Person>();

int choice=getOption();

while(choice!=7)

{switch (choice)

{ case 1: addPerson(personList); break;

case 2: searchPerson(personList); break;

case 3: deletePerson(personList);break;

case 4: sortDirectory(personList);break;

case 5: displayDirectory(personList);break;

case 6: saveDirectory(personList);break;

default: System.out.println("Wrong choice");

}

choice=getOption();

}

}

public static void sortDirectory(ArrayList<Person> personList)

{Person a = new Person();

Person b= new Person();

Person temp = new Person();

for(int i = 0; i < personList.size()-1; i++)

for(int j = i+1; j < personList.size(); j++)

{a=personList.get(i);

b=personList.get(j);

if(a.getName().compareTo(b.getName())>0)

{personList.set(j,a);

personList.set(i,b);

}

}

}


public static void saveDirectory(ArrayList<Person> personList)throws FileNotFoundException

{Scanner scan = new Scanner(System.in);

Person temp = new Person();

System.out.println("Enter name of file to save in: ");

String filename=scan.nextLine();

PrintStream output=new PrintStream(new File(filename));

for(int i = 0; i < personList.size(); i++)

{ temp=personList.get(i);

output.println(temp);

}

output.close();

}


public static int getOption()

{ Scanner scan = new Scanner(System.in);

System.out.println("Press 1 to Add Person");

System.out.println("Press 2 to Search Person");

System.out.println("Press 3 to Delete a Person");

System.out.println("Press 4 to Sort the Directory");

System.out.println("Press 5 to Display the Directory");

System.out.println("Press 6 to Save the Directory");

System.out.println("Press 7 to exit");

System.out.println("Enter your choice");

int choice = Integer.parseInt(scan.nextLine());

return choice;

}

public static void displayDirectory(ArrayList<Person> personList)

{System.out.println("Complete Directory");

Person temp = new Person();

for(int i = 0; i < personList.size(); i++)

{ temp=personList.get(i);

System.out.println(temp);

}

}

public static void addPerson(ArrayList<Person> personList)

{ Person A1 = new Person();

Scanner sc = new Scanner(System.in);

System.out.println("Enter name: ");

A1.name = sc.nextLine();

System.out.println("Enter address: ");

A1.address = sc.nextLine();

System.out.println("Enter telephone number: ");

A1.telephone = Integer.parseInt(sc.nextLine());

personList.add(A1);

}

public static void deletePerson(ArrayList<Person> personList)

{Scanner scan = new Scanner(System.in);

System.out.print("Who would you like to delete? ");

int n=searchPerson(personList);

if(n>=0)

personList.remove(n);

}

public static int searchPerson(ArrayList<Person> personList)

{ Scanner scan = new Scanner(System.in);

Person temp = new Person();

System.out.println("Enter person's name: ");

String personName = scan.nextLine();

for(int i = 0; i < personList.size(); i++)

{ temp=personList.get(i);

if(personName.equals(temp.getName()))

{System.out.println("Person Found"+temp);

return i;

}

}

System.out.println("Person not found");

return -1;

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote