欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java 词频_java程序:统计单词词频,

发布时间:2024/8/1 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 词频_java程序:统计单词词频, 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

用java统计英文文章单词词频,源码如下:问题:输出时不要按键输出,要按键值从大到小输出。键值相同时按键从大到小排序(比如:any=3,an=3时,输出顺序为:an=3any=3)。比如:原来输...

用java统计英文文章单词词频,源码如下:

问题:输出时不要按键输出,要按键值从大到小输出。键值相同时按键从大到小排序(比如:any=3,an=3时,输出顺序为:an=3 any=3)。

比如:原来输出时是:

a=3

an=2

to=14

they=5

现在要变成:

to=14

they=5

a=3

an=2

要有实现的代码。谢谢!

import java.util.*;

import java.io.*;

public class wordsRate {

public static void main(String[] args) throws Exception {

BufferedReader infile = new BufferedReader(new FileReader("article.txt"));

String string;

String file = null;

while ((string = infile.readLine()) != null) {

file += string;

}

file = file.toLowerCase();

file = file.replaceAll("[^A-Za-z]", " ");

file = file.replaceAll("\\s+", " ");

String words[];

words = file.split("\\s+");

Map hashMap = new HashMap();

for (int i = 0; i < words.length; i++) {

String key = words[i];

if (hashMap.get(key) != null) {

int value = ((Integer) hashMap.get(key)).intValue();

value++;

hashMap.put(key, new Integer(value));

} else {

hashMap.put(key, new Integer(1));

}

}

Map treeMap = new TreeMap(hashMap);

Set entrySet = treeMap.entrySet();

BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));

for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) {

String result =iterator.next().toString();

bw.write(result);

bw.newLine();

bw.flush();

}

}

}

展开

总结

以上是生活随笔为你收集整理的java 词频_java程序:统计单词词频,的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。