Create a program that automatically generates words from letters. Your program/project should be called
[YourName]-Project.java (replace [YourName] with your actual name).
The program should ask the user for 5letters and then build valid English words using those letters (use each
letter only once) and output them in a table format(showing per line: the word, its length, and its number of
points) and organized (ordered) by one of these criteria:
Criteria Name Meaning and Order
1 Length Determine the length of the words (the number of letters in the word) and show the words in the decreasing order of the word length
2 Points Determine the total number of points (the sum of the points/values for each letter from the word - see the footnote
1
) and show the words in the decreasing
order of the total number of points
aa
For example for the
letters C, J, A, V, A, for the
criterion 1, the output
should be:
WORD LENGTH POINTS
JAVA 4 17
AVA 3 7
VAC 3 10
AA 2 2
For the criterion 2, the output should be: WORD LENGTH POINTS
JAVA 4 17
VAC 3 10
AVA 3 7
AA 2 2
aa
The program should allow the user to select and change the criterion and select a different set of letters (i.e. play again). The program should work for any combination of letters but no other characters. The program should be user-friendly (have a good enough interface that allow the user to easily use the program) and be well-documented (follow the Assignment Code Convention, explain what each line of code does). To validate the words, your program should read thelist of valid words from the attached file WORDS.txt and store it in the memory in a structure that would facilitate the search for words, letter, or groups of letters. You can use a one-dimensional array or oneor more arrays. Take a screenshotof the editor window (showing the output) and saveit as [YourName]-Screenshot (make sure you preserve the image file extension) or paste the screenshot(s) in a documentcalled [YourName]-Screenshot. Replace [YourName] with your actual name. If you have different output you want to capture in your screenshot or the output does not fit on one screenshot, create and submit different screenshot files.
Create a ZIP archive containing the project folder and call it [YourName]-Project.zip. Replace [YourName] with your actual name. After you make the code work as requested above, you can try to earn extra points by making the program better (quality of code, interface, speed, memory usage, etc) without removing any requests above. Email me with your proposal for improvements/extra thingsto do and I will let you know if you can get extrapoints for that and how many. SUBMIT the [YourName]-Project.java, [YourName]-Project.zip, [YourName]-Screenshot, and all the other classes you created for the project on eCampus under the Final Project.
The value (number of points) for each letter are listed in the table below:
Letter: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Value: 1 4 4 2 1 4 3 3 1 10 5 2 4 2 1 4 10 1 1 1 2 5 4 8 3 10