Whoops There Was an Error Try Again Limeades for Learning Sonic

Lab nine: Sets in the Java Collection Framework For this week'southward lab,...

Lab 9: Sets in the Java Collection Framework

For this week's lab, you will use ii of the classes in the Coffee Drove Framework:HashSet andTreeSet. You lot will use these classes to implement a spell checker.

Set Methods

this lab, you lot will demand to apply some of the methods that are defined in the Set interface. Recall that if set is a Set, and so the following methods are defined:

  • prepare.size() -- Returns the number of items in the ready.
  • ready.add(item) -- Adds the item to the ready, if it is not already there.
  • fix.contains(item) -- Check whether the set contains the item.
  • gear up.isEmpty() -- Cheque whether the set is empty.

You will as well need to exist able to traverse a set, using either an iterator or a for-each loop.

Reading a Dictionary

The file words.txt (in the code directory) contains a list of English words, with one word on each line. You will expect up words in this list to check whether they are correctly spelled. To brand the listing easy to utilize, you lot can store the words in a prepare. Since there is no need to take the words stored in order, you lot can use aHashSet for maximum efficiency.

Use a Scanner to read the file. You can create scanner,filein, for reading from a file with a statement such every bit:

                     filein = new Scanner

(new File("/classes/s09/cs225/words.txt"));

and that a file tin be candy, token by token, in a loop such as:

while (filein.hasNext()) {

     String tk = filein.next();

     process(tk); // exercise something with the token

}

(For the wordlist file, a token is just a word.)

Start your main program past reading the words from words.txt and storing them in aHashSet<Cord>. For the purposes of this programme,convert all words to lower case before putting them in the set. To brand sure that you've read all the words, check the size of the set. (It should exist 72875.) You lot could also use the contains method to bank check for the presence of some mutual word in the set.

Checking the Words in a File

In one case you take the list of words in a gear up, it's easy to read the words from a file and check whether each word is in the set. Start by letting the user select a file. You can either allow the user type the name of the file or you can use the following method:

        /**

         * Lets the user select an input file using a standard file

         * pick dialog box. If the user cancels the dialog

         * without selecting a file, the return value is null.

         */

        static File getInputFileNameFromUser() {

           JFileChooser fileDialog = new JFileChooser();

           fileDialog.setDialogTitle("Select File for Input");

           int option = fileDialog.showOpenDialog(cypher);

           if (selection != JFileChooser.APPROVE_OPTION)

              return nada;

           else

              render fileDialog.getSelectedFile();

        }

Employ a Scanner to read the words from the selected file. In club to skip over any not-alphabetic character characters in the file, you can apply the following command but after creating the scanner (where in is the variable name for the scanner):

in.useDelimiter("[^a-zA-Z]+");

(In this argument, "[^a-zA-Z]+" is a regular expression that matches whatever sequence of i or more not-alphabetic character characters. This substantially makes the scanner treat whatever non-alphabetic character the style it would ordinarily care for a infinite.)

You can then go through the file, read each word (converting it to lower case) and check whether the fix contains the discussion. At this point, just print out whatever give-and-take that you find that is not in the dictionary.

Providing a List of Possible Correct Spellings

A spell checker shouldn't just tell yous what words are misspelled -- information technology should too give you a list of possible correct spellings for that word. Write method

static TreeSet corrections(String badWord, HashSet dictionary)

that creates and returns aTreeSet<String> containing variations onbadWord that are contained in the lexicon. In your primary program, when you detect a word that is not in the set of legal words, pass that word to this method (along with the set up). Have the return value and output whatever words that it contains; these are the suggested correct spellings of the misspelled word. Hither, for case, is part of the output from a sample plan when it was run with the HTML source of this page equally input:

html: (no suggestions)

cpsc: (no suggestions)

hashset: hash set

treeset: tree gear up

cvs: cs, vs

isempty: is empty

href: ref

txt: tat, tet, text, tit, tot, tut

filein: file in

pre: are, ere, ire, ore, pare, pee, per, pie, poe, pore, prep, pres,

      prey, pro, pry, pure, pyre, re

hasnext: has next

wordlist: word list

getinputfilenamefromuser: (no suggestions)

jfilechooser: (no suggestions)

filedialog: file dialog

setdialogtitle: (no suggestions)

int: ant, dint, hint, in, ina, inc, ind, ink, inn, ins, inti, into,

     it, lint, mint, nit, pint, tint

Annotation that the plan was written so that it volition not output the aforementioned misspelled word more than one time. (This is done by keeping a set of misspelled words that have been output.) If thecorrections() method returns an empty fix, the programme outputs the message "(no suggestions)". Since the corrections are stored in a tree set, they are automatically printed out in alphabetical order with no repeats.

The possible corrections that the plan considers are equally follows:

• Delete whatsoever one of the letters from the misspelled word.

• Change any letter in the misspelled give-and-take to whatever other letter.

• Insert whatsoever letter at whatever indicate in the misspelled discussion.

• Swap whatever 2 neighboring characters in the misspelled word.

• Insert a infinite at any point in the misspelled word (and bank check that both of the words that are produced are in the dictionary)

For constructing the possible corrections, you volition have to make extensive use of substrings. If w is a string, and sow.substring(0,i) is the string consisting of the first i characters in west (not including the character in position i, which would be character numberi+1). Andw.substring(i) consists of the characters of west from position i through the end of the string. For example, ifch is a character, then you tin can change thei-th character of w to ch with the argument:

String s = due west.substring(0,i) + ch + westward.substring(i+1);

Also, you lot will find information technology user-friendly to apply afor loop in which the loop control variable is achar:

for (char ch = 'a'; ch <= 'z'; ch++) { ...

Answer & Caption

Verified Solved by verified expert

Rated Helpful

entesq

consectetur adipiscing elit. Nam lacinia pulvinar tortor nec facilisis. Pellentes

ce dui lectus, congue vel laoreet ac, dictum vitae odio. Donec aliquet. Lorem ipsum do

rem ipsum dolor sit amet, consectetur adipiscing elit. Nam lacinia pulvinar torto

,ur laoreet. Nam risus ante, dapibus a molestie consx

Unlock full access to Course Hero

Explore over 16 1000000 stride-by-pace answers from our library

Subscribe to view answer

Step-by-pace explanation

a. Fusce dui lec

dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam lacinia pulvinar tortorconloneclac, dictumrisus sumiametiur licetm ipsum dolo,dictum vitae odio. Donec aliquet. Lorem ipsum dolorsua molestie consequat, ultrices ac magna. Fusce dui lectufng elit. Nia pulvinar tortor nesuac, dictusuec facconsectetur adipiscing elit. Nam lacinia pulvinar tortor nec facilisis. Pellentesque daconsectetur aone thousand ipslestie consequat, ultrices ac magna. Fusce dui lectus, congue vel laoreet ac, dictum vitatrimolestie consequat, ultrices air conditioning magna. Fusce dui lectus,sutrices ac magna. Fusce dui lectus, congue vel laoreet ac, dictum vitaitur laoreeusce dui lectus, congue vel laoreet air conditioning, dsuinia pulvinar tortor nec facm ipsat, ultrices ac magna. Fusce dui lectus, congue vel laoreet ac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consectetuuFusce dui lectus, congue vel laoreet ac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet,tring elit. Nam lacinia pulvinar tortor nec facilisis. Pellsucongue vel laoreet ac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consecteturac,lestie consequat, ucea molestie consequctum vitae odio. Donec aliquet. Lorem ipsum dac,dictum vimolestie consequa molestie conseqonecfacilisis. Pellentesque dapibusiaDonec al0s ante, dapibusicitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices ac magac,ur laoreet. Nam risus ante, dapibus auac, dictum vitae odio. Donec afinia pulvinar tortor nec facac,ipsum dentthou ipsum dolor sit ametonecs a molestie consequat, ultrair conditioning,ipsum dusceFusce dui lectus, congue vel laoreet air-conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit apulv, consectetur adipiscing elit. Nam lacinia pulvinar tortac,dictum viur laoreet. Nam risus dues, dapibus a molestie consec aliquet. Lorem ipsum dolor0congue vel l ametipsumec aliquet. Lorem ipsumuscfacilisis. Pellentesque dapibus esuet, consectetur adipiscing elit. Nam lacinia pulinia pulvinar tortor negrand ipsumiaor nec facilisis. Pellentesque dapibametgrand ipsumugrand risus ante, dapibus a molestie consequat, ultrior nelametinia ponectesque dapor neamet, consectetur adipiscing elit. Nam ametongue velipsum dolorto. Donec aliquet. Lorem ipsum dolo,sum dolor sit amet, consectetur adipiscing elsuitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices air-conditioning magnicDiallen0entesque dapibus efficitur laoreet. Nam risus ante, dapibus a molestie conse0cing elit. Nam lacinia pulvinar tortor nec facilisfctum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, cuitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrtrictum vitae odio. Donec aliicDair-conditioning,onguecefficituriafficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices air conditioning magna.usus ante, dapibus a molestie consequat, ultrices air conditioning magna. Fusce duitris dues, dapibus a molestie consequat, ultrices ac magna. Fusce dui l0air conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit aicDac,onguecefficituriafficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices air-conditioning magna.uac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consectetur atriusce dui lectus, congue vel laoreet ac, dictum vitae odio. Doneac,ongueceac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit ametufficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices ac magna. Fusce dui lectus, conguetrinec facilisis. Pellentesque dapibus efficitur laoreeticDiallenfentesque dapibus efficitur laoreet. Nam risus dues, dapibus a molestie conse0rem ipfdue south a molestieac,amet, consectetur adipiscifs a molestieac,fficitur laoreet. Nam risus dues, dapibus a molestie consequat, ultricf, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consecteuitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrtring elit. Nam lacinia pulvinaor neo. Donec aliquet. Lorem ipsu

, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit down amet, consectetur adipiscing elit. Nam lacin

words.PNG

sum do

SelectFile.PNG Otpt.PNG

Student reviews

76% (29 ratings)

thorntongracts1957.blogspot.com

Source: https://www.coursehero.com/tutors-problems/Java-Programming/21112512-Lab-9-Sets-in-the-Java-Collection-Framework-For-this-weeks-lab-you/

0 Response to "Whoops There Was an Error Try Again Limeades for Learning Sonic"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel