zoukankan      html  css  js  c++  java
  • 单词统计

     任务:

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

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

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

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

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

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

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

    第1步:输出单个文件中的前 N 个最常出现的英语单词。

     

    package www;
    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.无用词
        }
    }
  • 相关阅读:
    HTML5 特性检测:Video Format(视频格式)
    HTML5中对script标签的规定与解释
    Java数据类型
    Java微信公众平台开发之将本地开发环境映射到公网访问
    微信扫码支付模式一和模式二的区别
    Java微信公众平台开发之获取地理位置
    Vim 的一些高频使用命令
    Python 的一些高级特性
    【面试题总结】第二篇
    Python 的模块和包
  • 原文地址:https://www.cnblogs.com/xcl666/p/11071305.html
Copyright © 2011-2022 走看看