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