Intro to Java Classwork: List Keeper, Part 2
Write a Java program named "ListKeeperPart2.java" that has the user
enter an unlimited number of words, which should all be stored in
an ArrayList of Strings.  The user should press the ENTER key after
each word, and then press ENTER on a line by itself (with no word)
when finished entering words.  Make sure the user's final entry
(the ENTER key by itself) is not stored in the ArrayList as a
"blank" entry.

After the user has finished entering words, perform the following
two tasks:

1) Remove all duplicate words from the ArrayList, ignoring case.
   For example, if the list contains "cat" and "Cat" and "CAT"
   and "cat", your program should remove all but one of the four
   entries, although it does not matter which of the four remains.

2) Display the (possibly revised) word list back to the user in
   the same order in which the words were entered by the user,
   but using all CAPITAL letters.

For this assignment, you must keep the 'main' method as sparse as
possible, consisting of mostly (or entirely) calls to other methods.
Your code for getting the words from the user must be in its own
method, the code for removing duplicate words must be in another
method, and the code for displaying the words back to the user
must be in a third method.

Other than the 'Scanner' class, for this program you may not import
or use any external methods.  And, other than a single Java ArrayList
of Strings, you are not allowed to use any global variables in your
program.  The output of your program should be neat, organized, and
easy to understand.


As always, all of your code must be your own, written entirely and
only by you within your online CodeHS.com account.  You must never
copy/paste, receive, view, or in any way use code that was created
or modified by another person, entity, or artificial intelligence.


Advanced Option #1
Add an additional method that is called after the user has
finished entering words and the word list has been displayed
back to the user using all capital letters.  This new method
should ask the user to enter an integer representing the maximum
number of characters allowed in each word, then remove from the
ArrayList every word that contains more characters than the limit
just provided by the user, and then display the (possibly revised)
list of words using all capital letters.

Advanced Option #2
Add an additional method that sorts the words in the ArrayList
in ascending order by word length.  That is, change the order
of the words in the list so that the shortest word comes first,
the longest word comes last, and every word in between is
ordered accordingly.  Within each group of words that has
the same number of characters, sort those words alphabetically
in ascending order.  When done re-ordering the words, display
the sorted ArrayList back to the user using all capital letters.