Objective: Design and implement a word unscrambler game in Java. Details: Your program should read in a random word from a file called words.txt (note the lack of capitalization) that you provide. There should not be any hard limit on the number of words in the file. If words were added/removed from the file, your program should recognize such changes of the words.txt and handle appropriately next time it runs. The file should contain one word per line. To read a random word you can generate a random number between 1 and the number of lines, and skip n-1 lines before reading the word. Scramble the word by swapping random pairs of letters a random number of times. Display the scrambled word with character indexes on top. Assume that the word is always no more than ten characters (so that index can be within 0-9 range, inclusive). Offer the user a menu with the following choices: • Enter 1 to swap a pair of letters If this option is selected prompt the user to enter two indexes and swap the letters. Print an error message if the indexes are invalid. If the word is unscrambled successfully print a congratulatory message containing the word and the number of steps it took to unscramble. Otherwise display the new word, and offer the menu again. • Enter 2 to solve If this option is selected print the unscrambled word and quit. • Enter 3 to quit If this option is selected quit
Objective:
Design and implement a word unscrambler game in Java.
Details:
Your
capitalization) that you provide. There should not be any hard limit on the number of words in
the file. If words were added/removed from the file, your program should recognize such
changes of the words.txt and handle appropriately next time it runs. The file should contain one
word per line. To read a random word you can generate a random number between 1 and the
number of lines, and skip n-1 lines before reading the word. Scramble the word by swapping
random pairs of letters a random number of times. Display the scrambled word with character
indexes on top. Assume that the word is always no more than ten characters (so that index can be
within 0-9 range, inclusive).
Offer the user a menu with the following choices:
• Enter 1 to swap a pair of letters
If this option is selected prompt the user to enter two indexes and swap the letters. Print an error
message if the indexes are invalid. If the word is unscrambled successfully print a congratulatory
message containing the word and the number of steps it took to unscramble. Otherwise display
the new word, and offer the menu again.
• Enter 2 to solve
If this option is selected print the unscrambled word and quit.
• Enter 3 to quit
If this option is selected quit
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 3 steps with 4 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)