banner



Where Do I Register For Speedways Speedy Rewards Program

Lab nine: Sets in the Coffee Collection Framework For this week'south lab,...

Lab ix: Sets in the Java Collection Framework

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

Set Methods

this lab, you volition need to utilize some of the methods that are divers in the Set interface. Retrieve that if set is a Set, then the following methods are divers:

  • set.size() -- Returns the number of items in the set.
  • set.add(particular) -- Adds the particular to the ready, if it is non already there.
  • set.contains(particular) -- Check whether the ready contains the item.
  • set.isEmpty() -- Check whether the set is empty.

You will also need to be able to traverse a fix, using either an iterator or a for-each loop.

Reading a Dictionary

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

Utilize a Scanner to read the file. You lot tin create scanner,filein, for reading from a file with a argument such equally:

                     filein = new Scanner

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

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

while (filein.hasNext()) {

     Cord tk = filein.adjacent();

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

}

(For the wordlist file, a token is simply a give-and-take.)

Outset your chief program by reading the words from words.txt and storing them in aHashSet<String>. For the purposes of this program,catechumen all words to lower case before putting them in the set. To make sure that yous've read all the words, cheque the size of the set. (It should be 72875.) You could also apply the contains method to check for the presence of some common word in the set.

Checking the Words in a File

Once you have the list of words in a fix, information technology's like shooting fish in a barrel to read the words from a file and bank check whether each word is in the set. Start by letting the user select a file. You can either permit the user type the proper noun of the file or you can utilise the following method:

        /**

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

         * option dialog box. If the user cancels the dialog

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

         */

        static File getInputFileNameFromUser() {

           JFileChooser fileDialog = new JFileChooser();

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

           int option = fileDialog.showOpenDialog(null);

           if (option != JFileChooser.APPROVE_OPTION)

              return null;

           else

              return fileDialog.getSelectedFile();

        }

Utilise a Scanner to read the words from the selected file. In order to skip over any non-letter characters in the file, you tin utilise the following control just later 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 whatsoever sequence of i or more non-letter characters. This essentially makes the scanner treat any not-alphabetic character the way it would ordinarily treat a space.)

Yous can then become through the file, read each word (converting it to lower example) and check whether the set contains the word. At this betoken, just impress out whatever word that you lot find that is not in the dictionary.

Providing a List of Possible Correct Spellings

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

static TreeSet corrections(Cord badWord, HashSet dictionary)

that creates and returns aTreeSet<Cord> containing variations onbadWord that are contained in the lexicon. In your chief programme, when yous find a give-and-take that is not in the fix of legal words, pass that word to this method (forth with the set). Take the return value and output any words that it contains; these are the suggested correct spellings of the misspelled word. Here, for example, is part of the output from a sample program when information technology was run with the HTML source of this page as input:

html: (no suggestions)

cpsc: (no suggestions)

hashset: hash prepare

treeset: tree ready

cvs: cs, vs

isempty: is empty

href: ref

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

filein: file in

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

      casualty, pro, pry, pure, pyre, re

hasnext: has next

wordlist: give-and-take 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,

     information technology, lint, mint, nit, pint, tint

Note that the programme was written and so that information technology volition not output the same misspelled word more than one time. (This is washed by keeping a set of misspelled words that have been output.) If thecorrections() method returns an empty set, the plan 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 program considers are every bit follows:

• Delete whatever one of the messages from the misspelled word.

• Modify whatever letter in the misspelled word to any other letter.

• Insert whatever letter at whatever indicate in the misspelled word.

• Bandy any two neighboring characters in the misspelled word.

• Insert a space at whatever point in the misspelled discussion (and check that both of the words that are produced are in the dictionary)

For constructing the possible corrections, you will have to make extensive use of substrings. If w is a string, thenw.substring(0,i) is the string consisting of the showtime i characters in due west (not including the character in position i, which would be character numberi+one). Andwestward.substring(i) consists of the characters of due west from position i through the end of the string. For case, ifch is a character, then you lot can change thei-th character of w to ch with the statement:

String southward = w.substring(0,i) + ch + w.substring(i+1);

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

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

Reply & 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 air-conditioning, 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 million step-by-step answers from our library

Subscribe to view reply

Stride-past-step explanation

a. Fusce dui lec

dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam lacinia pulvinar tortorconloneclair conditioning, dictumrisus sumiametiur licetgrand ipsum dolo,dictum vitae odio. Donec aliquet. Lorem ipsum dolorsua molestie consequat, ultrices ac magna. Fusce dui lectufng elit. Nia pulvinar tortor nesuair conditioning, dictusuec facconsectetur adipiscing elit. Nam lacinia pulvinar tortor nec facilisis. Pellentesque daconsectetur am ipslestie consequat, ultrices ac magna. Fusce dui lectus, congue vel laoreet ac, dictum vitatrimolestie consequat, ultrices ac magna. Fusce dui lectus,sutrices ac magna. Fusce dui lectus, congue vel laoreet ac, dictum vitaitur laoreeusce dui lectus, congue vel laoreet ac, 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 air conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet,tring elit. Nam lacinia pulvinar tortor nec facilisis. Pellsucongue vel laoreet air conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit down amet, consecteturac,lestie consequat, ucea molestie consequctum vitae odio. Donec aliquet. Lorem ipsum dair-conditioning,dictum vimolestie consequa molestie conseqonecfacilisis. Pellentesque dapibusiaDonec al0s ante, dapibusicitur laoreet. Nam risus dues, dapibus a molestie consequat, ultrices ac magac,ur laoreet. Nam risus ante, dapibus auair conditioning, dictum vitae odio. Donec afinia pulvinar tortor nec facac,ipsum dentm ipsum dolor sit ametonecsouthward a molestie consequat, ultrair-conditioning,ipsum dusceFusce dui lectus, congue vel laoreet ac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit apulv, consectetur adipiscing elit. Nam lacinia pulvinar tortair-conditioning,dictum viur laoreet. Nam risus ante, 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 nem ipsumiaor nec facilisis. Pellentesque dapibametgrand ipsumugrand risus dues, dapibus a molestie consequat, ultrior nelametinia ponectesque dapor neamet, consectetur adipiscing elit. Nam ametongue velipsum dolorto. Donec aliquet. Lorem ipsum dolo,sum dolor sit down amet, consectetur adipiscing elsuitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices ac magnicDiallen0entesque dapibus efficitur laoreet. Nam risus dues, dapibus a molestie conse0cing elit. Nam lacinia pulvinar tortor nec facilisfctum vitae odio. Donec aliquet. Lorem ipsum dolor sit down amet, cuitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrtrictum vitae odio. Donec aliicDac,onguecefficituriafficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices ac magna.usus ante, dapibus a molestie consequat, ultrices ac magna. Fusce duitrisouthward dues, dapibus a molestie consequat, ultrices ac magna. Fusce dui l0air conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit aicDair conditioning,onguecefficituriafficitur laoreet. Nam risus dues, dapibus a molestie consequat, ultrices ac magna.uair conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit amet, consectetur atriusce dui lectus, congue vel laoreet air conditioning, dictum vitae odio. Doneair-conditioning,ongueceair conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit down ametufficitur laoreet. Nam risus dues, dapibus a molestie consequat, ultrices ac magna. Fusce dui lectus, conguetrinec facilisis. Pellentesque dapibus efficitur laoreeticDiallenfentesque dapibus efficitur laoreet. Nam risus ante, dapibus a molestie conse0rem ipfs a molestieac,amet, consectetur adipiscifs a molestieair conditioning,fficitur laoreet. Nam risus ante, 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 amet, consectetur adipiscing elit. Nam lacin

words.PNG

sum do

SelectFile.PNG Otpt.PNG

Student reviews

75% (28 ratings)

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

Posted by: helleryouseks68.blogspot.com

0 Response to "Where Do I Register For Speedways Speedy Rewards Program"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel