In this blog I am trying to make a small demo which is count the frequency of a sentence accepted by user using java.


import java.nio.CharBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.util.Map;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.LinkedHashMap;
import java.util.Scanner;

public class WordFreq
{
                public static void main(String args[]) throws Exception
                {
                                Scanner in = new Scanner(System.in);
                                System.out.print("Enter String : ");
                        String text=in.nextLine();
                text = text.replaceAll("( )+", " ");
                                wordFrequencyCount(text);
                }
                public static void wordFrequencyCount(String s)
{
    int count=0;
    String sentance[]=sortWords(s);
    System.out.println("Word\t\tfrequency");
    for(int i=0;i<sentance.length;)
    {
        count=1;
        for(int index=i+1;index<sentance.length;index++)
        {
            if(sentance[i].compareTo(sentance[index])==0)
            {                 count++;
            }
            else
            {
                break;
            }
        }
        System.out.println(""+sentance[i] +"\t\t"+count);         i+=count;
    }
}
public static String[] sortWords(String s1)
{
    String s[]=s1.split(" ");
    for( int i=0;i<s.length-1;i++)
        {
            for( int j=0;j<s.length-i-1;j++)
            {
                if(s[j].compareTo(s[j+1])>0)
                {
                    String g=s[j+1];
                    s[j+1]=s[j];
                    s[j]=g;
                }
            }
        }
    return s;
}
}

Output: -

  Modified On Sep-18-2014 01:24:18 PM

Leave Comment