Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

**** Java expert please help me JAVA program below? Here is the requirement: Ple

ID: 3806149 • Letter: #

Question

**** Java expert please help me JAVA program below? Here is the requirement:

Please show your program's output as example above

---------CountOccurrenceOfWords.java---------

import java.util.*;

public class CountOccurrenceOfWords {
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, Integer>();

String[] words = text.split("[ .,;:!?(){}]");
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);
}
}
}

// Get all entries into a set
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

// Get key and value from each entry
for (Map.Entry<String, Integer> entry: entrySet)
System.out.println(entry.getKey() + " " + entry.getValue());
}
}

Frequent Words Modify CountOccurrenceOfWords java. Your program should take a text file name as a command line argument. It should read the file and print the number of times the most-used word appears and, in ascending order, the words that occur most frequently. Ignore case when processing the words in the file. Your program may ignore punctuation. For example, if the file contained Sophie Sally and Jack were dachshunds Dachshunds are the best dogs and all dogs are better than cats The program's output should be Words that appear 2 times: and are dachshunds dogs

Explanation / Answer

HI, Please find my implementation.

Please let me know in case of any issue.

import java.io.File;

import java.util.*;

public class CountOccurrenceOfWords {

   public static void main(String[] args) {

       // Create a TreeMap to hold words as key and count as value

       Map<String, Integer> map = new TreeMap<String, Integer>();

       Scanner sc = new Scanner(System.in);

       try{

          

           if(args == null ){

               System.out.println("Please pass input file name from command line");

               return;

           }

          

           String inputFileName = args[0];

           System.out.println("Input file name: "+args[0]);

           // opening file

           Scanner fileScanner = new Scanner(new File(inputFileName));

           String line;  

           while(fileScanner.hasNextLine()){

               line = fileScanner.nextLine();

               String[] words = line.split("[ .,;:!?(){}]");

               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);

                       }

                   }

               }

           }

          

           sc.close();

           fileScanner.close();

       }catch (Exception e) {

           System.out.println(e.getMessage());

       }

      

      

       // Get all entries into a set

       Set<Map.Entry<String, Integer>> entrySet = map.entrySet();

      

       //getting max count

       int max = 0;

       for (Map.Entry<String, Integer> entry: entrySet){

           if(entry.getValue() > max)

               max = entry.getValue();

       }

      

       String result = "";

       // Get key and value from each entry

       for (Map.Entry<String, Integer> entry: entrySet)

           if(entry.getValue() == max)

               result = result + entry.getKey()+" ";

      

       System.out.println("Words that appears "+max+" times: "+result);

   }

}

/*

Sample run:

Input file name: text.txt

Words that appears 2 times: and are dachshunds dogs

*/

######### text.txt #########

Sophie Sally and jack were dachshunds
Dachshunds are the best dogs and all dogs
are better than cats