(Count the occurrences of words in a text file) Rewrite Listing 21.9 to read the text from a text file. The text file is passed as a command-line argument (see section 7.13 on page 274 of the textbook on command line arguments). Note that, macOS is Unix based and has an app called Terminal which is equivalent to Command Prompt on Windows. Words are delimited by whitespace characters, punctuation marks (, ; . : ?), quotation marks (" "), and parentheses (see how to use Regular Expression in Appendix H). Count the words in a case-sensitive fashion (e.g., consider Good and good to be the same word). The words must start with a letter. Display the output of words in alphabetical order, with each word preceded by the number of times it occurs. Although your program should work with any text file, I tested my program solution with its own source code as the input file on a computer that runs Windows to generate the following sample output: C:\Users\hestrada\Desktop>java CountOccurrenceOfWords CountOccurrenceOfWords.java Display words and their count in ascending order of the words 1 a 1 1 an 2 and 3 2 1 1 catch 1 class count WN 3 alphabetical 4 2 1 create 1 display 1 3 3 2 1 exception 1 exit 1 file 2 filename for fullfilename get 13 args as ascending countoccurrenceofwords else entry entryset ex 1 getkey 1 getvalue 1 hasnext 1 hold

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter5: Control Structures Ii (repetition)
Section: Chapter Questions
Problem 43SA
icon
Related questions
Question

Answer the given question with a proper explanation and step-by-step solution.

 I need help with this homework for a step-by-step Java Programming, I also attached the picture of "Listing 21.9" which is mentioned in the question, Thanks 

LISTING 21.9 CountOccurrenceOfWords.java
1 import java.util.*;
2
3 public class CountOccurrenceOfWords {
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public static void main(String[] args) {
// Set text in a string
String text = "Good morning. Have a good class.
"Have a good visit. Have fun!";
// Create a TreeMap to hold words as key and count as value
Map<String, Integer> map = new TreeMap<>();
String[] words = text.split("[\\s+\\p{P}]");
for (int i = 0; i < words.length; i++) {
String key words [i].toLowerCase();
if (key.length() > 0) {
if (!map.containskey (key)) {
map.put(key, 1);
}
else {
int value = map.get (key);
value++;
map.put(key, value);
}
}
}
// Display key and value for each entry
856 Chapter 21 Sets and Maps
display entry
29
30
31 }
a
class
fun
good
have
morning
visit
map. forEach((k, v) -> System.out.println(k+ "\t" + v));
}
211331
tree map
split string
1
add entry
update entry
Transcribed Image Text:LISTING 21.9 CountOccurrenceOfWords.java 1 import java.util.*; 2 3 public class CountOccurrenceOfWords { 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public static void main(String[] args) { // Set text in a string String text = "Good morning. Have a good class. "Have a good visit. Have fun!"; // Create a TreeMap to hold words as key and count as value Map<String, Integer> map = new TreeMap<>(); String[] words = text.split("[\\s+\\p{P}]"); for (int i = 0; i < words.length; i++) { String key words [i].toLowerCase(); if (key.length() > 0) { if (!map.containskey (key)) { map.put(key, 1); } else { int value = map.get (key); value++; map.put(key, value); } } } // Display key and value for each entry 856 Chapter 21 Sets and Maps display entry 29 30 31 } a class fun good have morning visit map. forEach((k, v) -> System.out.println(k+ "\t" + v)); } 211331 tree map split string 1 add entry update entry
(Count the occurrences of words in a text file) Rewrite Listing 21.9 to read the text from a text file. The text file is passed
as a command-line argument (see section 7.13 on page 274 of the textbook on command line arguments). Note that,
macOS is Unix based and has an app called Terminal which is equivalent to Command Prompt on Windows.
Words are delimited by whitespace characters, punctuation marks (, ; . : ?), quotation marks (" "), and parentheses (see
how to use Regular Expression in Appendix H). Count the words in a case-sensitive fashion (e.g., consider Good and
good to be the same word). The words must start with a letter. Display the output of words in alphabetical order, with
each word preceded by the number of times it occurs.
Although your program should work with any text file, I tested my program solution with its own source code as the
input file on a computer that runs Windows to generate the following sample output:
C:\Users\hestrada\Desktop>java CountOccurrenceOfWords CountOccurrenceOfWords.java
Display words and their count in ascending order of the words
1 a
1
1
an
2 and
3
2
1
1 catch
1
class
count
WN
3
alphabetical
4
2
1 create
1
display
1
3
3
2
1 exception
1 exit
1
file
2
filename
for
fullfilename
get
13
args
as
ascending
countoccurrenceofwords
else
entry
entryset
ex
1 getkey
1 getvalue
1
hasnext
1
hold
Transcribed Image Text:(Count the occurrences of words in a text file) Rewrite Listing 21.9 to read the text from a text file. The text file is passed as a command-line argument (see section 7.13 on page 274 of the textbook on command line arguments). Note that, macOS is Unix based and has an app called Terminal which is equivalent to Command Prompt on Windows. Words are delimited by whitespace characters, punctuation marks (, ; . : ?), quotation marks (" "), and parentheses (see how to use Regular Expression in Appendix H). Count the words in a case-sensitive fashion (e.g., consider Good and good to be the same word). The words must start with a letter. Display the output of words in alphabetical order, with each word preceded by the number of times it occurs. Although your program should work with any text file, I tested my program solution with its own source code as the input file on a computer that runs Windows to generate the following sample output: C:\Users\hestrada\Desktop>java CountOccurrenceOfWords CountOccurrenceOfWords.java Display words and their count in ascending order of the words 1 a 1 1 an 2 and 3 2 1 1 catch 1 class count WN 3 alphabetical 4 2 1 create 1 display 1 3 3 2 1 exception 1 exit 1 file 2 filename for fullfilename get 13 args as ascending countoccurrenceofwords else entry entryset ex 1 getkey 1 getvalue 1 hasnext 1 hold
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Literals
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning