Monday, 11 February 2019

FrequencyWord2010_3



import java.io.*;
public class FrequencyWord2010_3
{
  public static void main(String args[])throws Exception
  {
  BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
  System.out.println("Enter the number of sentences:");
  int n=Integer.parseInt(stdin.readLine());
  if(n<1||n>3)
   System.out.println("INVALID INPUT");
    else
     {
        System.out.println("Enter the paragraph");
        String s=stdin.readLine();
        char ch;
        String word[]=new String[30];
        int v=0,count=0;
        for(int i=0;i<s.length();i++) //extract each word to array
        {
            ch=s.charAt(i);
            if(ch==' '||ch=='.'||ch=='?')
            {
                word[count]=s.substring(v,i);
                 v=i+1;
                count++;
            }
        }
        int freq[]=new int[count];
       System.out.println("Total number of words:"+count);
     
       for(int j=0;j<count;j++)//counting frequency of each word
         {
             freq[j]=0;
             for(int k=0;k<count;k++)
             {
              if(word[j].equals(word[k]))
              {
               freq[j]+=1;
              }
            }
        }
     
        String word1[]=new String[count];
        int freq1[]=new int[count];
        int count1=0,temp;
        String temp1;
        for(int i=0;i<count-1;i++)
          {
            for(int m=i+1;m<count;m++)
             {
                 if(word[i].equals(word[m]))
                  freq[m]=0;
                }
         }
       
          for(int m=0;m<count;m++)
           {
               if(freq[m]!=0)
                {
                  word1[count1]=word[m];
                  freq1[count1]=freq[m];
                  count1++;
                }
            }
            for(int i=0;i<count1;i++)
             {
                 for(int m=0;m<count1-i-1;m++)
                  {
                      if(freq1[m]>freq1[m+1])
                       {
                         temp=freq1[m+1];
                         freq1[m+1]=freq1[m];
                         freq1[m]=temp;
                         temp1=word1[m+1];
                         word1[m+1]=word1[m];
                        word1[m]=temp1;
                      }
                }
            }
           System.out.println("WORD\tFREQUENCY");
            for(int i=0;i<count1;i++)
             {
              System.out.println(word1[i]+"\t"+freq1[i]);
            }
        }
    }
}

No comments:

Post a Comment