• 统计单词


    用户需求:

    英语的26 个字母的频率在一本小说中是如何分布的?

    某类型文章中常出现的单词是什么?

    某作家最常用的词汇是什么?

    《哈利波特》 中最常用的短语是什么,等等。

    我们就写一些程序来解决这个问题,满足一下我们的好奇心。

    0步:输出某个英文文本文件中 26 字母出现的频率,由高到低排列,并显示字母出现的百分比,精确到小数点后面两位。

    字母频率 = 这个字母出现的次数 / (所有A-Za-z字母出现的总数)

    如果两个字母出现的频率一样,那么就按照字典序排列。  如果 S T 出现频率都是 10.21%, 那么, S 要排在T 的前面。

    代码如下:

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    
    public class WordNumTest {
    
        @SuppressWarnings("null")
        public static void main(String[] args) throws Exception {
            // TODO Auto-generated method stub
            int [] Num=new int [26];
            for(int i=0;i<26;i++)
            {
                Num[i]=0;
            }
            //统计
            try {
                FileReader fr = new FileReader("piao.txt");
                BufferedReader bf = new BufferedReader(fr);
                while(bf.ready())
                {
                    int n=bf.read();
                    if(n=='a'||n=='A')
                        Num[0]++;
                    if(n=='b'||n=='B')
                        Num[1]++;
                    if(n=='c'||n=='D')
                        Num[2]++;
                    if(n=='d'||n=='D')
                        Num[3]++;
                    if(n=='e'||n=='E')
                        Num[4]++;
                    if(n=='f'||n=='F')
                        Num[5]++;
                    if(n=='g'||n=='G')
                        Num[6]++;
                    if(n=='h'||n=='H')
                        Num[7]++;
                    if(n=='i'||n=='I')
                        Num[8]++;
                    if(n=='j'||n=='J')
                        Num[9]++;
                    if(n=='k'||n=='K')
                        Num[10]++;
                    if(n=='l'||n=='L')
                        Num[11]++;
                    if(n=='m'||n=='M')
                        Num[12]++;
                    if(n=='n'||n=='N')
                        Num[13]++;
                    if(n=='o'||n=='O')
                        Num[14]++;
                    if(n=='p'||n=='P')
                        Num[15]++;
                    if(n=='q'||n=='Q')
                        Num[16]++;
                    if(n=='r'||n=='R')
                        Num[17]++;
                    if(n=='s'||n=='S')
                        Num[18]++;
                    if(n=='t'||n=='T')
                        Num[19]++;
                    if(n=='u'||n=='U')
                        Num[20]++;
                    if(n=='v'||n=='V')
                        Num[21]++;
                    if(n=='w'||n=='W')
                        Num[22]++;
                    if(n=='x'||n=='X')
                        Num[23]++;
                    if(n=='y'||n=='Y')
                        Num[24]++;
                    if(n=='z'||n=='Z')
                        Num[25]++;
                }
                bf.close();
                fr.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //求和
            int sum=0;
            for(int i=0;i<26;i++)
            {
                sum=sum+Num[i];
            }
            //求百分比
            double [] persent=new double [26];
            for(int i=0;i<26;i++)
            {
                persent[i]=0.00;
            }
         //排序
            for(int i=0;i<26;i++)
            {
                persent[i]=Num[i]*1.00/sum;
                //System.out.println(persent[i]);
                System.out.println(String.format("%.2f", persent[i]));
            }
            //输出
            double []Max=new double [26];
            for(int i=0;i<26;i++)
            {
                Max[i]=0;
            }//赋0处理
            //排序
            
            //45分钟
            //2.统计单词
            
            //3.无用词
        }
    
    }

     

  • 相关阅读:
    jQuery中Ajax事件beforesend及各参数含义 转
    如何组织好js代码 转
    C# 几种HtmlEncode的区别
    [转]建议Font-Size使用em单位控制大小
    JavaScript charAt() 方法
    Js中 关于top、clientTop、scrollTop、offsetTop的用法
    jquery mobile 的4个初始化事件
    JS操作JSON总结
    .html(),.text()和.val()的使用
    netstat 显示当前网络连接的统计信息
  • 原文地址:https://www.cnblogs.com/lishengming00/p/11061097.html
Copyright © 2020-2023  润新知