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

Write a program that reads in and prints a text, line by line, and calls a serie

ID: 3853327 • Letter: W

Question

Write a program that reads in and prints a text, line by line, and calls a series of functions. The main program calls a function diffwords() to count the number of different words in the entire text (ignoring case). It also calls a function wordcount() to count the number of times each word appears in the text. Then it calls a function printcount() to print a list of all the words in the text, together with the count of the number of times they appear. For example, if a word occurs twice in the text, it appears only once on the list, with a count of 2. Print the list of words in alphabetical order. Use other functions wherever appropriate. For example, suppose the text is this: The elephant ate the banana and the giraffe ate the banana. The function diffwords() produces a count of 6 ("the", "elephant", "ate", "banana", and "giraffe"): wordcount() produces this list: and 1 ate 2 banana 2 elephant 1 giraffe 1 the 4

Explanation / Answer

/**

*
* @author Sam
*/
public class WordCount {
    private String s;
    String uniqueWords[];
    int uniqueWordsCount[];
    private void different() {
        String[]words = s.split(" ");
        uniqueWords= new String[words.length];
        int index = 0, i;
        for (String word: words){
            for (i = 0; i < index; i++)
                if(uniqueWords[i].equalsIgnoreCase(word))
                    break;
            if(i == index) //not found because the loop didnt break
                uniqueWords[index++] = word.toLowerCase();
        }
        String[] resultStrings = new String[index];
        System.arraycopy(uniqueWords, 0, resultStrings, 0, index);
        uniqueWords = resultStrings;
    }
  
    private void wordCount() {
        String[]words = s.split(" ");
        uniqueWordsCount = new int[uniqueWords.length];
        for (String word : words)
            for (int i = 0; i<uniqueWords.length; i++)
                if (word.equalsIgnoreCase(uniqueWords[i]))
                    uniqueWordsCount[i]++;
    }
  
    private void printCount() {
        for (int i = 0; i<uniqueWords.length; i++)
            System.out.println(uniqueWords[i] + " " + uniqueWordsCount[i]);
    }
  
    public static void main(String[] args) {
        WordCount wc = new WordCount();
        wc.s = "The elephant ate the banana and the giraffe ate the banana";
        wc.different();
        wc.wordCount();
        wc.printCount();
    }
}

Here you go champ. The answer is ready for you. If you need assistance, please let me know. I shall be glad to help you.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote