java 词频统计代码
package hello; import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.StringTokenizer; public class WordCount { public void sort(int[] arry) {
int temp;
for (int i = 0; i < arry.length; i++) {
for (int j = i; j < arry.length; j++) {
if (arry[i] > arry[j]) {
temp = arry[i];
arry[i] = arry[j];
arry[j] = temp;
}
} }
for (int k = 0; k < arry.length; k++) {
System.out.print(arry[k] + " ");
}
} public static void main(String[] args) { // 用HashMap存放<单词:词频>这样一个映射关系
HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
// 用正则表达式来过滤字符串中的所有标点符号
String regex = "[【】、.。,,。\"!--;:?\'\\]]";
try {
// 读取要处理的文件
BufferedReader br = new BufferedReader(new FileReader("src/file80.txt"));
String value;
while ((value = br.readLine()) != null) {
value = value.replaceAll(regex, " ");
// 使用StringTokenizer来分词(StringTokenizer详见JDK文档)
StringTokenizer tokenizer = new StringTokenizer(value);
while (tokenizer.hasMoreTokens()) {
String word = tokenizer.nextToken();
if (!hashMap.containsKey(word)) {
hashMap.put(word, new Integer(1));
} else {
int k = hashMap.get(word).intValue() + 1;
hashMap.put(word, new Integer(k));
}
}
}
// 遍历HashMap,输出结果
Iterator iterator = hashMap.keySet().iterator();
while (iterator.hasNext()) {
String word = (String) iterator.next();
System.out.println(word + ":\t" + hashMap.get(word));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
java 词频统计代码的更多相关文章
- java词频统计——改进后的单元测试
测试项目 博客文章地址:[http://www.cnblogs.com/jx8zjs/p/5862269.html] 工程地址:https://coding.net/u/jx8zjs/p/wordCo ...
- java词频统计——web版支持
需求概要: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件. 2.用户直接输入要统计的文本,服务器返回结果 3.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经 ...
- Java词频统计
public class WordCount { public static void main(String[] args) { String[] stopWords = { "" ...
- python统计代码行数
以前写了一个java的统计代码行数的小程序,最近在看python,于是就参考前辈的代码,写了一个统计文件夹下面各种程序的代码的小程序,这里贴出来供大家参考 参考链接: https://gist.git ...
- 如何用java完成一个中文词频统计程序
要想完成一个中文词频统计功能,首先必须使用一个中文分词器,这里使用的是中科院的.下载地址是http://ictclas.nlpir.org/downloads,由于本人电脑系统是win32位的,因此下 ...
- 词频统计的java实现方法——第一次改进
需求概要 原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 ...
- 【第二周】Java实现英语文章词频统计(改进1)
本周根据杨老师的spec对英语文章词频统计进行了改进 1.需求分析: 对英文文章中的英文单词进行词频统计并按照有大到小的顺序输出, 2.算法思想: (1)构建一个类用于存放英文单词及其出现的次数 cl ...
- Java实现的词频统计——Web迁移
本次将原本控制台工程迁移到了web工程上,依旧保留原本控制台的版本. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息 ...
- 效能分析——词频统计的java实现方法的第一次改进
java效能分析可以使用JProfiler 词频统计处理的文件为WarAndPeace,大小3282KB约3.3MB,输出结果到文件 在程序本身内开始和结束分别加入时间戳,差值平均为480-490ms ...
随机推荐
- C# readonly和const的区别
什么是静态常量(Const)和动态常量(Readonly) 先解释下什么是静态常量(Const)以及什么是动态常量(Readonly). 静态常量(Const)是指编译器在编译时候会对常量进行解析,并 ...
- Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术
转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某 ...
- No bean named 'springSecurityFilterChain' is defined
1.问题 本文讨论Spring安全配置问题 - 应用程序引导过程抛出以下异常: SEVERE: Exception starting filter springSecurityFilterChain ...
- nodejs Async 使用方法(解决多层回调嵌套)
由于nodejs是异步处理的,有时我们想同步从mysql里取出数据,最后在处理逻辑 就需要用到此扩展: 此扩展可以避免多层回调: 安装方法: npm install async 使用方法: 1.par ...
- Android studio 断点调试
最近进行业务测试,总是被测试环境不稳定或者测试数据错误困扰,一有问题就去找开发,自己都觉得很烦,所以就自己学着调试起来,这样以后遇到问题就可以自己定位的更深入了. 1.确保连接设备且进 ...
- 我的NopCommerce之旅(1): 系统综述
一.概述 NopCommerce是一个开源的购物网站,它的特点是Pluggable modular/layered architecture(可插拔模块分层架构) 二.功能特色介绍 1.适配手机端 2 ...
- .net 键盘
private void txtGoodsGroup_KeyPress(object sender, KeyPressEventArgs e) { base.OnKeyPress(e); if ((i ...
- 按位&按位|按位~的详解
十进制转二进制: 例:十进制(5)---->二进制(00000101) 将整数除二取余,继续用除二的结果除二取余,最后将结果从下往上连接起来,不足八位,前面填0 二进制转十进制 例:二进制(00 ...
- LookAround开元之旅(持续更新中...)
应用介绍随便瞧瞧是一款为android用户量身定做的免费图文资讯软件集美食,文学,语录等频道于一体界面简洁,操作流畅,图文分享,个性收藏是广大卓粉的必备神器APK下载 -->https://ra ...
- 【Web应用-迁移】迁移 Web 应用到新的应用服务计划的相关限制和说明
现象描述 当前 Web 应用所在的应用服务计划和目标应用服务计划属于同一个资源组,但是通过 Portal 点击 “更改应用服务计划”,依旧看不到目标应用服务计划. 问题分析 导致上述问题的原因是,用户 ...