字母统计|英语的26 个字母在一本小说中是如何分布的

Posted K_Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字母统计|英语的26 个字母在一本小说中是如何分布的相关的知识,希望对你有一定的参考价值。

    public static String input()
    {
        String s="";
    
        //表示磁盘路径的两种表示方式:1、\\   2、/
        try {

            //1、建立连接
            InputStream is = new FileInputStream("F:/新建文件夹/tongji/aaa.txt");
            //2、开始读取信息
            //先定义一个字节数组存放数据
            byte[] b = new byte[10000];//把所有的数据读取到这个字节当中
            //声明一个int存储每次读取到的数据
            int i = 0;
            //定义一个记录索引的变量
            int index = 0;
            //循环读取每个数据
            while((i=is.read())!=-1){//把读取的数据放到i中
                b[index]=(byte) i;
                index++;
            }
            //把字节数组转成字符串
            
            //关闭流
            is.close();
            s=new String(b);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            //系统强制解决的问题:文件没有找到
            e.printStackTrace();
        } catch (IOException e) {
            //文件读写异常
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return s;    
    }
public static void main(String[] args)
        {
            //定义需要计算字母出现次数的文本
            String text=daoruchu.input();
            //定义26个字母
            String letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            calculate(text,letter);
        }
        public static void calculate(String text,String letter)
        {
            //定义存储各字母出现次数的数组
            int []counter=new int[52];
            //定义字母总个数的计数器。排除标点符号,空格和数字。
            int total_counter=0;
            //将string类型转化成char类型
            char[] text_tr=text.toCharArray();
            char[] letter_tr=letter.toCharArray();
            //计算各字母出现次数以及总字母数
            //外层循环,遍历26个字母
            for(int i=0;i<52;i++)
            {
                //内层循环,遍历待计算文本
                for(int j=0;j<text_tr.length;j++)
                {
                    //字母每在文本中出现一次,字母计数器加一,总字母个数计数器加一
                    if(text_tr[j]==letter_tr[i])
                    {
                        counter[i]++;
                        total_counter++;
                    }
                }
            }
        
            for(int i=0;i<52;i++)
            {
            
                //输出结果

                System.out.println(letter_tr[i]+"‘s number is "+counter[i]);
            }
            System.out.println("sum:"+total_counter);
        }
    

这个程序分为两个部分:

1、第一个类实现文件的导入导出

2、第二个类实现字母的统计;

目前的问题:

文件导出仍然存在问题;主要问题是无法把统计结果转换成文件导出的字节;

以上是关于字母统计|英语的26 个字母在一本小说中是如何分布的的主要内容,如果未能解决你的问题,请参考以下文章

单词统计

统计分析

IO_课堂测试

文件读写兼分析数据课堂测试

某字符串可能包含26个英文字母,可能包含6种符号,可能包含3个数字,统计他们出现的个数

我是英语初学者,请问26个字母所发音的音标是否都包含在48个国际音标中?请多指教!新手