1. Create a class hierarchy which has an abstract class called WordList (the same class as in project 2 but it is abstract). This class should have two subclasses: UnsortedWordList and SortedWordList, each having a method called add. In the UnsortedWordList the method add will add to the end of the list (append), and in the SortedWordList it will do an insert. So now, rather than in project 2 where you used two of the same kind of list (WordList) you will use one unsorted list and one sorted list.

2. Create a new exception called IllegalWordException by extending lllegalArgumentException.

3. When you create a new Word from a String read from the input file, catch any exceptions thrown by the constructor and print the offending string to the console along with the message from the Exception. The constructor should check that the word is 3 characters, and all the characters are letters.

4. Add a File menu to your GUI which has menu items for Open and Quit. You should now be able to select an input file using the GUI.

The format of the input file will be the same as Project 1.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.