/* Derik VanPelt CS111 /home/dvanpelt/Unordered.java Unordered.java Lab Instructor: Dugald Brown 11/9/2006 */ import java.util.Scanner; import java.lang.reflect.Array; public class Unordered { E[] array = (E[]) new Object[10]; int maxSize = 10; int currentSize = 0; //default constructor public Unordered() { } //handles exception public static class EmptyArrayException extends Exception { /* * EmptyArrayException * post - displays message if exception is thrown * @param msg - message to be displayed */ public EmptyArrayException(String msg) { super(msg); } } //handles exception public static class FullArrayException extends Exception { /* * FullArrayException * post - displays message if exception is thrown * @param msg - message to be displayed */ public FullArrayException(String msg) { super(msg); } } /* * insert * pre - * post - an element is added to the array */ public void insert(E o) throws FullArrayException { if (this.currentSize > 9) throw new FullArrayException("The Array is full"); else { array[currentSize] = o; this.currentSize++; } } /* * remove * pre - * post - removes the element out of the array, then moves the last element in the array to the empty slot * @param o - element to be removed * @return - Returns the element that was removed */ public E remove(E o) throws EmptyArrayException { int value = 99; if (this.currentSize < 1) throw new EmptyArrayException("The Array is Empty"); else { for (int b = 0; b< this.currentSize; b++) { if (array[b] == o) value = b; } array[value] = array[this.currentSize-1]; this.currentSize--; } return o; } /* * maxSize * pre - * post - the array is unchanged * @return - Returns the max size of the array */ public int maxSize() { return maxSize; } /* * currentSize * pre - * post - the array is unchanged * @return - Returns the current size of the array */ public int currentSize() { return this.currentSize; } /* * toString * pre - * post - the array is unchanged * @return - Displays the list of chores */ public String toString() { String ret = ""; for (int i = 0; i < this.currentSize; i++) { ret = ret + array[i] + "\n"; } return (ret); } /* * isMember * pre - * post - the array is unchanged * @param o - Element to be checked if it is in the array * @return - Returns true is the element is in the array, false if not */ public boolean isMember(E o) { int counter = 0; for (int j = 0; j< this.currentSize; j++) { if (array[j] == o) counter++; } if (counter > 0) return true; else return false; } /* * empty * pre - * post - the array is unchanged * @return - Returns true is array is empty, false if it isn't */ public boolean empty() { if (this.currentSize == 0) return true; else return false; } /* * full * pre - * post - the array is unchanged * @return - Returns true is the array is full, false if not */ public boolean full() { if (this.currentSize == 10) return true; else return false; } /* * pre - * post - This function asks the user to add and remove chores, will continue to run until * the unser finishes all of the chores */ public static void main(String[] args) throws FullArrayException, EmptyArrayException { int choice; String chore1 = "wash dishes"; String chore2 = "clean windows"; String chore3 = "dust furnature"; String chore4 = "Vaccum carpet"; Unordered list = new Unordered(); Scanner console = new Scanner(System.in); do { System.out.println("Would you like to add a new chore, or take one off? type 5 to add a chore and 6 to take one off"); choice = console.nextInt(); if (choice == 6) { System.out.println("Please enter a chore to remove (type an integer 1-4)"); choice = console.nextInt(); if (choice == 1) { if (list.isMember(chore1)) list.remove(chore1); } if (choice == 2) { if (list.isMember(chore2)) list.remove(chore2); } if (choice == 3) { if(list.isMember(chore3)) list.remove(chore3); } if (choice == 4) { if(list.isMember(chore4)) list.remove(chore4); } } if (choice == 5) { System.out.println("Please enter a chore to insert (type an integer 1-4)"); choice = console.nextInt(); if (choice == 1) list.insert(chore1); if (choice == 2) list.insert(chore2); if (choice == 3) list.insert(chore3); if (choice == 4) list.insert(chore4); } System.out.println(list.toString()); }while (!list.empty()); System.out.println("Congratulations, you have finished your chores!!!"); } }