Frequency of Repeated words in a string in Java
In this Java tutorial, we are going to find the frequency of the repeated words in Java. In order to do this, we have taken a sentence and split it into strings and compare each string with succeeding strings to find the frequency of the current string. Thus we can count the occurrences of a word in a string in Java.
How to count repeated words in a string in java
Before jumping into the code snippet to count repeated words in a string in java take a look at these below things.
What is split() string in Java?
split() is used to split a string into substrings based on regular expression. Suppose, you have a sentence and you have to deal with each string(words) of the sentence then there we use split()
The algorithm to find the frequency of Repeated word in a sentence in Java
- First, we have entered a string and then using split() string method. We split the input string into substrings based on regular expression.
- Using for loop we start checking from the first substring and check for strings those are equal to current string and incrementing the count.
- We initialize the count from 1 because we have to include the current string along with succeeding repeating string.
- We are printing those strings for which we are getting count more than one and the current string along with repeating string “-1”. So we will not count that string again.
Java Code to count repeated words in a string in java
import java. util. Scanner; public class codespeedy { public static void main(String[] args) { Scanner scan= new Scanner(System.in); String str=scan.nextLine(); String[] s=str.split(" "); int count=1; for(int i=0;i<=s.length;i++) { for(int j=i+1;j<s.length;j++) { if(s[i].equals(s[j]) && s[i]!="-1") { s[j]="-1"; count++; } } if(count>1 && s[i]!="-1") { System.out.println(s[i]+" "+count); s[i]="-1"; } count=1; } } }
INPUT
I am indian , I am proud to be indian .
OUTPUT
I 2 am 2 indian 2
So, as we see in input sentence I is repeating 2 times. am is repeating 2 times and Indian is repeating 2 times. So these repeating strings or we can say substrings of input string along with their frequency are our outputs.
Nice explained Sir
Write a program to input a sentence and a word. Display the frequency of the word entered by the user in the string.
Sample input: The red dress has Red buttons with a red bow and a Red Ribbon.
Frequency of the word to be searched: red
Sample output: 4