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

    用户需求:

    英语的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.无用词
        }
    
    }

     

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/lishengming00/p/11061097.html
Copyright © 2011-2022 走看看