All pastes #455293 Raw Edit

##java

public text v1 · immutable
·published 2007-04-24 03:23 UTC
rendered paste body
import 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');
	}
}