rendered paste bodyimport java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class AddressBook2 {
private ArrayList<Person> addrList;
public AddressBook2(String inputFile) throws IOException {
addrList = new ArrayList<Person>();
File file = new File(inputFile);
Person quickPerson;
Scanner bookFile = new Scanner(file);
String line;
String[] splitLine = new String[3];
while (bookFile.hasNext()) {
line = bookFile.nextLine();
splitLine = line.split("~");
quickPerson = new Person();
quickPerson.setFirstName(splitLine[0]);
quickPerson.setLastName(splitLine[1]);
quickPerson.setAddress(splitLine[2]);
addrList.add(quickPerson);
}
}
public void sortBook() {
Person tempPer;
for (int i = 0; i < addrList.size()-1; i++) {
if (addrList.get(i+1).getLastName().compareTo(addrList.get(i).getLastName()) < 0) {
tempPer = addrList.get(i+1);
addrList.set(i+1, addrList.get(i));
addrList.set(i, tempPer);
}
if (addrList.get(i+1).getLastName().compareTo(addrList.get(i).getLastName()) == 0) {
for (int j = 0; j < addrList.size()-1; j++) {
if (addrList.get(j+1).getFirstName().compareTo(addrList.get(j).getFirstName()) < 0) {
tempPer = addrList.get(j+1);
addrList.set(j+1, addrList.get(j));
addrList.set(j, tempPer);
}
}
}
}
}
public void printBook() {
int i = 0;
if (addrList.size() != 0) {
do {
System.out.println(addrList.get(i).toString());
i++;
} while (i < addrList.size());
}
else
System.out.println("No entries available for printing!");
}
public static void main(String[] args) throws IOException {
AddressBook book = new AddressBook("myAddressBook.txt");
char charChoice;
Person userPer;
Scanner keyboard = new Scanner(System.in);
String userChoice;
String[] splitChoice = new String[4];
book.printInfo();
do {
book.printMenu();
userChoice = keyboard.nextLine();
splitChoice = userChoice.split(" ", 4);
charChoice = splitChoice[0].charAt(0);
switch (charChoice) {
case 'a':
userPer = new Person(splitChoice[1], splitChoice[2], splitChoice[3]);
book.addPerson(userPer);
break;
case 'f':
System.out.println(book.findAddress(splitChoice[1], splitChoice[2]));
break;
case 'p':
book.printBook();
break;
case 'r':
book.removePerson(splitChoice[1], splitChoice[2]);
break;
case 's':
book.sortBook();
break;
default:
System.out.println("The choice you have entered is not available!");
}
} while (charChoice != 'q');
}
}