- 浏览: 339041 次
- 性别:
- 来自: 大西洋底
文章分类
最新评论
-
jfztaq:
问题果然解决了,太感谢了
Chrome经常性的“喔唷,崩溃了”问题 -
saintor:
因为不是每个subclass都执行Cloneable吧。
Java Object类的方法们 -
337240552:
写的不错 这个东西晕死一堆人。
对JavaScript中原型的理解 -
liang86liang:
jkleeo 写道很深奥啊.
C/CPP只有在大学的时候听说过 ...
Windows下用Eclipse搭建C/C++开发环境 -
ahong520:
看来你也是四国军棋爱好者,啥时候切磋一下
四国军棋游戏V0.3.5(未完成)
统计的是英文版"悲惨世界",代码如下,使用ascii值做数组下标直接赋值:
我以为会多慢呢,没想到瞬间完成,统计结果如下:
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.text.DecimalFormat; public class EnglishAlphaBetaStatics { public static final String EN_FOLDER = "C:/resources/Books/English/Les Miserables.txt"; private static final int ASCII_START = 33; // ASCII from 33; ignore the // space private static final int ASCII_LENGTH = 94; private int[] result = new int[ASCII_LENGTH]; private int total = 0; /** * Handle one English fiction * * @param file * @throws IOException */ public void handleOneFile(File file) throws IOException { if (file == null) throw new NullPointerException(); BufferedReader in = new BufferedReader(new FileReader(file)); String line; while ((line = in.readLine()) != null) { for (int i = 0; i < line.length(); i++) { char c = line.charAt(i); if (c >= ASCII_START && c < ASCII_START + ASCII_LENGTH) { result[c - ASCII_START] += 1; total++; } else { } } } in.close(); } /** * Print the statics result */ public void printResult() { // For sorting int[] abc = new int[ASCII_LENGTH]; for (int i = 0; i < abc.length; i++) { abc[i] = ASCII_START + i; } // Sorting for (int i = 0; i < result.length; i++) { for (int j = 0; j < result.length - 1 - i; j++) { if (result[j] < result[j + 1]) { int tmp = result[j]; result[j] = result[j + 1]; result[j + 1] = tmp; // swap the characters tmp = abc[j]; abc[j] = abc[j + 1]; abc[j + 1] = tmp; } } } // Format DecimalFormat df = new DecimalFormat("#.######"); System.out.println("Total characters: " + total); System.out.println("Char\tNumber\t%"); System.out.println("-----------------------------------"); for (int i = 0; i < result.length; i++) { char c = (char) abc[i]; double rate = result[i] * 100.0 / total; System.out.println(c + "\t" + result[i] + "\t" + df.format(rate) + "%"); } } /** * @param args */ public static void main(String[] args) throws IOException { EnglishAlphaBetaStatics eab = new EnglishAlphaBetaStatics(); eab.handleOneFile(new File(EN_FOLDER)); eab.printResult(); } }
我以为会多慢呢,没想到瞬间完成,统计结果如下:
Total characters: 2800496 Char Number % ----------------------------------- e 345891 12.351062% t 235280 8.401369% a 211330 7.546163% o 190799 6.813043% h 180302 6.438217% n 176170 6.290671% i 174552 6.232896% s 166855 5.958052% r 152896 5.459604% d 113123 4.039392% l 102527 3.66103% u 70975 2.534372% c 66061 2.358904% m 59036 2.108055% w 56513 2.017964% f 56476 2.016643% , 51714 1.846601% g 48633 1.736585% p 41978 1.498949% y 39999 1.428283% b 36215 1.293164% . 32322 1.154153% v 25400 0.906982% k 14724 0.525764% " 14616 0.521908% T 12625 0.450813% - 10222 0.365007% I 9530 0.340297% A 6890 0.246028% H 6553 0.233994% M 6435 0.229781% ; 6204 0.221532% E 4313 0.154008% S 4292 0.153259% C 4262 0.152187% x 3882 0.138618% ' 3852 0.137547% ! 3690 0.131762% O 3593 0.128299% j 3495 0.124799% B 3476 0.124121% W 3316 0.118408% ? 3094 0.11048% R 3057 0.109159% P 3047 0.108802% F 2811 0.100375% N 2751 0.098233% : 2553 0.091162% J 2536 0.090555% q 2535 0.09052% G 2401 0.085735% L 2296 0.081985% V 2021 0.072166% z 1960 0.069988% D 1735 0.061953% Y 1147 0.040957% U 768 0.027424% 1 687 0.024531% K 600 0.021425% 8 422 0.015069% * 303 0.01082% X 262 0.009355% 2 243 0.008677% 3 237 0.008463% ` 227 0.008106% 5 203 0.007249% [ 197 0.007034% ] 197 0.007034% 0 195 0.006963% 4 155 0.005535% 7 142 0.005071% 6 133 0.004749% Q 121 0.004321% 9 113 0.004035% ( 95 0.003392% ) 95 0.003392% Z 58 0.002071% _ 40 0.001428% | 36 0.001285% { 2 0.000071% } 2 0.000071% + 1 0.000036% / 1 0.000036% # 0 0% $ 0 0% % 0 0% & 0 0% < 0 0% = 0 0% > 0 0% @ 0 0% \ 0 0% ^ 0 0% ~ 0 0%
发表评论
-
文件分割与合并
2020-03-19 20:59 228package com.test.filestool; ... -
盒子里面另一个是红球的概率问题
2019-05-08 09:27 710问题如下:引用有三个盒子,其中一个里面是两个红球,一个里面是两 ... -
Mac OS X 下运行Java standalone 连接 Notes
2017-11-27 12:32 744Mac OS X 下运行Java standalone 连接 ... -
随机密码生成
2015-09-10 10:19 742import java.util.Random; p ... -
Java 处理mail subject
2015-06-15 21:16 1038对于mail subject 前面烦人的各种Re: 或Fw: ... -
有趣的“生命游戏”
2013-04-04 10:56 1005“生命游戏” 本世纪70年代,人们曾疯魔一种被称作“生命游戏” ... -
有趣的统计英文单词频率的例子
2013-03-02 00:22 1921统计一篇英文文档或一本小说中单词出现的次数,下面代码使用的是英 ... -
有趣的将一个十进制整数转换成二进制输出的算法
2013-02-27 00:20 1310原题是将一个十进制整数转换成二进制输出。 分析:任何数可以表 ... -
统一批量修改照片名字
2012-09-01 14:00 2885在给小宝拍的照片中,有我手机拍的,有媳妇手机拍的,还有相机拍的 ... -
关于Java的UUID
2012-08-30 18:40 8280UUID或者UNID或者UID,是一个统一唯一标识,可以用来标 ... -
关于Java中的哈希表 HashMap,Hashtable 等
2012-07-27 10:10 2748首先来了解一下基本概念 所谓哈希表(Hash Table,又 ... -
关于Java中的哈希表
2012-07-27 10:01 1关于Java中的哈希表首先 ... -
关于Java的“浅拷贝”和“深拷贝” (clone method)
2012-07-24 14:31 1261这是关于Java的clone, 一些知道的和不知道的。 1. ... -
从某网站下载MP3的例子
2012-05-29 23:14 1344从某网站下载MP3的例子。为安全起见,将网站信息匿了。 ... -
统计项目中Java文件数和Java代码行数
2010-12-25 11:51 6434其实就是使用递归遍历目录下所有文件 import jav ... -
Java循环内goto语句的替代方案
2010-12-12 23:04 3208众所周知,Java虚拟机根本没有实现goto关键字。我的一个函 ... -
Struts 2 + Spring 2 + JPA + AJAX示例
2009-09-12 21:18 2539这个例子其实就是来自Struts 2的文档,但是原例子针对的是 ... -
Java线程编程学习笔记(二)
2009-06-11 17:23 1281这里是上一篇:Java线程编程学习笔记(一) Java线程编 ... -
Java线程编程学习笔记(一)
2009-04-09 10:46 2147"Java Thread Programming&q ... -
学习Spring 2.5和Hibernate 3的代码示例
2008-06-06 16:01 2462代码内容(每个包都是一个独立的应用,彼此不干涉): 一个最小 ...
相关推荐
单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计单词字母频率统计
本程序能够读取5篇英语新闻,统计其中的各个字母出现的频率。
java作业,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。实验报告+详细代码
分别统计3个文本文件中每个英文字母出现的概率(不区分大小写),并把统计结果以小数形式写到文本文件中(用Java语言)
这个是用java语言实现的统计英文文献里面字母出现的额频率,并画出对应的直方图。
C++单词字母频率统计程序,可输入任意的文档,程序可实现自动的字母频率统计,并提交二叉搜索树结构进行搜索
此程序的功能是实现对一篇英文文档中26个英文字母(区分大小写)进行计数,并计算其出现的概率。将结果打印到另一个txt文档中,需要注意的是文档中不能出现回车符。
输入任意一段英文,自动统计其中各字母出现的频率及次数,并在屏幕上输出结果
# 题目: # 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 # 分析: # 利用 while 或 for 语句,条件为输入的字符不为 '\n'。
一个简单的C++程序,主要用于统计任意一篇英文文章中出现的字母数及每个字母出现的概率
统计英文字母和数字字符.exe
VB 统计字母个数 VB 统计字母个数 VB 统计字母个数
课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的
matlab读入一个txt英文文本并将英文字母存入变量,实现了将出现的26个字母大小写统一,计算出了出现的各种字符(包括空格以及非字母的字符)出现的频数及其频率。
如果令A、B、C、D、……X、Y、Z这26个英文字母,分别等于百分之1、2、3、4……24、25、26这26个数值,那么我们就能得出如下有趣的结论:
编写一个程序统计文本文件英文字母个数,不区分大小写,屏幕输出每个字母出现的次数。 参考:文件操作函数,fopen, fclose, fread, fgetc;使用MSDN查找相关帮助; 要求:代码的编写、变量定义等应以《Coding ...
输入一行字符,分别统计出其中英文字母(包括大小写)、空格、数字和其他字符的个数。
只统计英文文本的26个字母(不分大小写)出现概率,并对这26个字母进行哈夫曼编码,香农编码,主程序在CalculateLetters_Number.m中。
输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数