Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with an integer indicating the number of words that follow. Assume that the list will always contain fewer than 20 words. Ex: If the input is: 5 hey hi Mark hi mark the output is: hey - 1 hi - 2 Mark - 1 hi - 2 mark - 1 Hint: Use two arrays, one array for the strings and one array for the frequencies import java.util.Scanner; public class LabProgram {     public static void main(String[] args) {         Scanner input = new Scanner(System.in);         // Read the number of words         int numWords = input.nextInt();         input.nextLine(); // Consume the newline character         // Initialize arrays to store words and their frequencies         String[] words = new String[numWords];         int[] frequencies = new int[numWords];         // Read and process the words         for (int i = 0; i < numWords; i++) {             String word = input.next();             boolean found = false;             // Check if the word is already in the array             for (int j = 0; j < i; j++) {                 if (word.equalsIgnoreCase(words[j])) {                     frequencies[j]++;                     found = true;                     break;                 }             }             // If the word is not found, add it to the arrays             if (!found) {                 words[i] = word;                 frequencies[i] = 1;             }         }         // Output words and their frequencies         for (int i = 0; i < numWords; i++) {             if (words[i] != null) {                 System.out.println(words[i] + " - " + frequencies[i]);             }         }     } }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter14: Exception Handling
Section: Chapter Questions
Problem 22SA
icon
Related questions
Question

Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with an integer indicating the number of words that follow. Assume that the list will always contain fewer than 20 words.

Ex: If the input is:

5 hey hi Mark hi mark

the output is:

hey - 1 hi - 2 Mark - 1 hi - 2 mark - 1

Hint: Use two arrays, one array for the strings and one array for the frequencies

import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // Read the number of words
        int numWords = input.nextInt();
        input.nextLine(); // Consume the newline character

        // Initialize arrays to store words and their frequencies
        String[] words = new String[numWords];
        int[] frequencies = new int[numWords];

        // Read and process the words
        for (int i = 0; i < numWords; i++) {
            String word = input.next();
            boolean found = false;

            // Check if the word is already in the array
            for (int j = 0; j < i; j++) {
                if (word.equalsIgnoreCase(words[j])) {
                    frequencies[j]++;
                    found = true;
                    break;
                }
            }

            // If the word is not found, add it to the arrays
            if (!found) {
                words[i] = word;
                frequencies[i] = 1;
            }
        }

        // Output words and their frequencies
        for (int i = 0; i < numWords; i++) {
            if (words[i] != null) {
                System.out.println(words[i] + " - " + frequencies[i]);
            }
        }
    }
}

Exception in thread "main" java.util. NoSuchElementException
at java.base/java.util.Scanner.
at java.base/java.util.Scanner.next
at LabProgram.main (LabProgram.java:17)
Input 5 hey hi Mark hi mark
Your output Your program produced no output
Expected output
2:Compare output
hey
hi
Mark 1
hi
mark
Expected output
a
-
I
I
-
cat
and
-
Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner. throw For (Scanner.java:937)
at java.base/java.util.Scanner.next (Scanner.java: 1478)
at LabProgram.main (LabProgram.java:17)
2
Input 16 a cat and a dog may fight but a cat and a cat may fight more
Your output Your program produced no output
1
-
4
2
-
-
1
3
NW
a
dog
may
fight 2
but 1
a - 4
2
throwFor (Scanner.java:937)
(Scanner.java: 1478)
1
cat 3
and 2
0/4
Transcribed Image Text:Exception in thread "main" java.util. NoSuchElementException at java.base/java.util.Scanner. at java.base/java.util.Scanner.next at LabProgram.main (LabProgram.java:17) Input 5 hey hi Mark hi mark Your output Your program produced no output Expected output 2:Compare output hey hi Mark 1 hi mark Expected output a - I I - cat and - Exception in thread "main" java.util.NoSuchElementException at java.base/java.util.Scanner. throw For (Scanner.java:937) at java.base/java.util.Scanner.next (Scanner.java: 1478) at LabProgram.main (LabProgram.java:17) 2 Input 16 a cat and a dog may fight but a cat and a cat may fight more Your output Your program produced no output 1 - 4 2 - - 1 3 NW a dog may fight 2 but 1 a - 4 2 throwFor (Scanner.java:937) (Scanner.java: 1478) 1 cat 3 and 2 0/4
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Random Class and its operations
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.
Similar questions
  • SEE MORE QUESTIONS
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
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT