When the Baby Lies Crosswise in the Uterus During Delivery

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

Lab 9: Sets in the Coffee Drove Framework

For this week'south lab, y'all will utilise two of the classes in the Java Drove Framework:HashSet andTreeSet. You will use these classes to implement a spell checker.

Set Methods

this lab, yous volition demand to use some of the methods that are divers in the Set interface. Call up that if ready is a Set up, so the following methods are divers:

  • set.size() -- Returns the number of items in the set.
  • set.add(item) -- Adds the item to the set, if information technology is not already in that location.
  • fix.contains(item) -- Check whether the set up contains the detail.
  • 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 i word on each line. You will look upward words in this list to check whether they are correctly spelled. To brand the list piece of cake to utilise, you can store the words in a set. Since in that location is no need to have the words stored in order, you can apply aHashSet for maximum efficiency.

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

                     filein = new Scanner

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

and that a file can exist processed, token by token, in a loop such as:

while (filein.hasNext()) {

     String tk = filein.side by side();

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

}

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

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

Checking the Words in a File

One time you lot have the list of words in a set, it's piece of cake to read the words from a file and check whether each word is in the set up. Showtime by letting the user select a file. You can either let the user type the proper noun of the file or you lot can use the following method:

        /**

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

         * selection 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(null);

           if (option != JFileChooser.APPROVE_OPTION)

              return null;

           else

              return fileDialog.getSelectedFile();

        }

Use a Scanner to read the words from the selected file. In order to skip over any not-letter characters in the file, y'all can employ the following command only after creating the scanner (where in is the variable name for the scanner):

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

(In this statement, "[^a-zA-Z]+" is a regular expression that matches any sequence of one or more non-letter characters. This substantially makes the scanner treat any not-letter the style it would usually treat a space.)

You tin so go through the file, read each give-and-take (converting it to lower case) and bank check whether the set contains the word. At this point, just print out whatever word that you detect 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 -- it should too give you a list of possible right spellings for that give-and-take. Write method

static TreeSet corrections(String badWord, HashSet dictionary)

that creates and returns aTreeSet<Cord> containing variations onbadWord that are contained in the dictionary. In your main plan, when you notice a word that is not in the set of legal words, pass that word to this method (along with the set). Take the render value and output any words that it contains; these are the suggested correct spellings of the misspelled give-and-take. Here, for example, is office of the output from a sample program when it was run with the HTML source of this page as input:

html: (no suggestions)

cpsc: (no suggestions)

hashset: hash set

treeset: tree prepare

cvs: cs, vs

isempty: is empty

href: ref

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

filein: file in

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

      casualty, pro, pry, pure, pyre, re

hasnext: has side by side

wordlist: word listing

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 plan was written and so that it will not output the same misspelled give-and-take more than than once. (This is done by keeping a set of misspelled words that take been output.) If thecorrections() method returns an empty ready, the program 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 every bit follows:

• Delete any i of the letters from the misspelled word.

• Change whatsoever letter in the misspelled word to whatsoever other alphabetic character.

• Insert whatever letter at any point in the misspelled word.

• Swap any two neighboring characters in the misspelled word.

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

For constructing the possible corrections, yous will have to make all-encompassing use of substrings. If w is a string, thenw.substring(0,i) is the cord consisting of the first i characters in due west (not including the character in position i, which would be character numberi+1). Andwestward.substring(i) consists of the characters of w from position i through the end of the string. For example, ifch is a character, then you tin can modify thei-thursday character of w to ch with the statement:

String s = w.substring(0,i) + ch + w.substring(i+ane);

Too, you will find it convenient to use afor loop in which the loop control variable is achar:

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

Answer & Caption

Verified Solved past 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 total admission to Course Hero

Explore over xvi one thousand thousand step-past-step answers from our library

Subscribe to view answer

Stride-by-step 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 am ipslestie consequat, ultrices ac magna. Fusce dui lectus, congue vel laoreet air-conditioning, 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 facyard ipsat, ultrices air-conditioning 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 al0south ante, dapibusicitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices ac magair conditioning,ur laoreet. Nam risus ante, dapibus auair conditioning, dictum vitae odio. Donec afinia pulvinar tortor nec facac,ipsum dentm ipsum dolor sit ametonecs a molestie consequat, ultrac,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 half-dozenur laoreet. Nam risus ante, dapibus a molestie consec aliquet. Lorem ipsum dolor0congue vel fifty ametipsumec aliquet. Lorem ipsumuscfacilisis. Pellentesque dapibus esuet, consectetur adipiscing elit. Nam lacinia pulinia pulvinar tortor nem ipsumiaor nec facilisis. Pellentesque dapibametm ipsumug 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 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 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 ac magna.usus ante, dapibus a molestie consequat, ultrices air-conditioning magna. Fusce duitris ante, dapibus a molestie consequat, ultrices ac magna. Fusce dui l0ac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit aicDair-conditioning,onguecefficituriafficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices air-conditioning magna.uac, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit down amet, consectetur atriusce dui lectus, congue vel laoreet ac, dictum vitae odio. Doneac,ongueceair-conditioning, dictum vitae odio. Donec aliquet. Lorem ipsum dolor sit ametufficitur laoreet. Nam risus ante, dapibus a molestie consequat, ultrices air conditioning magna. Fusce dui lectus, conguetrinec facilisis. Pellentesque dapibus efficitur laoreeticDiallenfentesque dapibus efficitur laoreet. Nam risus ante, dapibus a molestie conse0rem ipfsouth a molestieac,amet, consectetur adipiscifs a molestieac,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)

vesterwican1949.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 "When the Baby Lies Crosswise in the Uterus During Delivery"

Postar um comentário

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel