[Solved]Java Please Complete Full Program Exactly Says Required Prompt Problem 1 Implementing Spel Q37099654
**********************************In Java******************Please complete the full program, and exactly as it says in therequired prompt *********************
Problem 1 – Implementing a Spell Checker
Implement a spell-checker by using a hash table. You will createa class called SpellChecker in the file SpellChecker.java thatimplements the interface SpellCheckerInterface.java. The objectwill try to check for spelling errors in an input file, referencinga provided dictionary file. The SpellChecker object must accept thefilename of the dictionary in its constructor. There is a sampledictionary file in the Codio workspace called words.txt.
The constructor of the object must (itself or by calling othermethods) parse the dictionary file, storing the words in a HashSetinstance. The SpellChecker object will use this dictionary as areference when checking for spelling errors in a specified inputfile. Please note that every word added to theHashSetinstance must be in lower case. In addition to theconstructor, you must implement two methods to complete thefunctionality of your SpellChecker object.
- public List<String> getIncorrectWords(String filename) -This method should return a list of all words in the input filethat are incorrectly spelled according to the dictionary fileprovided to the constructor. The String filename contains the nameof the file to be spell-checked.
We define a word as a sequence of characters with whitespace(one or more spaces and/or tabs) on either side. To check forincorrectly spelled words, you must first read the file and processit into words. Note, however, that your program mustconvert the file to lowercase and remove allpunctuation in generating its list of words. This meansthat the line hey!! it’s nice to see you–how are you? shouldbecome hey, its, nice, to, see, youhow, are, you. No other inputprocessing is necessary and there are no exceptions to these rules.Punctuation is defined as any character that is not an upper orlower case alphabet, or a number (0-9). Once you split the lineinto words by splitting by whitespace, remove all punctuation fromevery word (and don’t forget to lower case each word as well).
Your output list must contain the incorrect words that remainafter processing input data (e.g. youhow in the above example).
- public Set<String> getSuggestions(String word) – Thismethod should return a set of all potential suggestions for theincorrectly spelled word that is provided as input.
In order to generate a suggestion for a given word, implementthe following spell checking techniques, where a character isdefined as one of a, b, c, …, z:
- Add one character – add a character at every point in thestring (including at the very beginning and end)
- Remove one character – remove one character at a time from eachposition in the string
- Swap adjacent characters – swap every pair of adjacentcharacters in the string
Your method should return all possible suggestions from each oneof the techniques above. Note that the use of a Set objectmaintains only unique suggestions (i.e. no duplicates).
You may choose to write a tester file, which might print outeach incorrectly spelled word in an input file and its suggestions.Any tester you write will, as usual, not be graded. This is anoptional step to encourage you to ensure that your code is indeedfunctional and correct.
Expert Answer
Answer to **********************************In Java****************** Please complete the full program, and exactly as it says in … . . .
OR

