JAVA代码实现词频统计的简单介绍

java词频统计在Java里面一个File既可以代表一个文件也可以代表一个目录(就是JAVA代码实现词频统计你所说JAVA代码实现词频统计的文件夹). 因此JAVA代码实现词频统计你可以直接把一个文件夹的path传进去new File(path), 然后再用list()就可以获得该文件夹下的所有文件数组, 再一个个的输入File流就行JAVA代码实现词频统计了, 可以这样写:
public void directory() {
File dir = new File("E:\temp");
File[] files = dir.listFiles();
}
java程序:统计单词词频 , 不多说,先看代码:
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 ");
MapString, Integer hashMap = new HashMapString, Integer();
for (int i = 0; iwords.length; i) {
String key = words[i];
if (hashMap.get(key) != null) {
int value = https://www.04ip.com/post/((Integer) hashMap.get(key)).intValue();
value;
hashMap.put(key, new Integer(value));
} else {
hashMap.put(key, new Integer(1));
}
}
MapString, Object treeMap = new TreeMapString, Object(hashMap);
MapString, Object treeMap1 = new TreeMapString, Object(hashMap);
BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));
//下面是我改动的你的代码:
Iterator iter = treeMap.entrySet().iterator();
【JAVA代码实现词频统计的简单介绍】//定义两个新的数组ss1和ss2,数组长度就是hashMap的长度,里面放分别是hashMap的value和key
String ss1[]=new String[treeMap.size()];;
int ss2[]=new int[treeMap.size()];
int i=0;
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
int val = (Integer)entry.getValue();
String key =(String) entry.getKey();
ss1[i]=key;
ss2[i]=val;
i;
}
//下面将ss1数组进行排序,并将其与ss2数组的内容相对应起来
int sValue=https://www.04ip.com/post/0;
String sKey="";
for(int j=0;jss2.length;j){
for(int k=0;ki;k){
if(ss2[j]ss2[k]){
sValue=https://www.04ip.com/post/ss2[j];
sKey=ss1[j];
ss2[j]=ss2[k];
ss1[j]=ss1[k];
ss2[k]=sValue;
ss1[k]=sKey;
}
}
}
for(int j=0;jss2.length;j){
System.out.println(ss1[j] "=" ss2[j]);
bw.write(ss1[j] "=" ss2[j]);
bw.newLine();
bw.flush();
}
}
}
代码是本人自己写的 , 也经过了自己的验证,肯定没问题 , 希望采纳 。
功能实现了,我是将其key和value值放在了数组之中,然后进行排序,将其输出到了txt文件里
排序方式不一样,实现的方式也不一样 , 所谓仁者见仁智者见智 。
使用java编写程序,要求输入一段话,统计其中某个词语出现的次数 。import java.io.*;
public class Test1 {
public static void main(String[] args) throws IOException{
String source = null;
String key = "";
//从键盘接受输入的一段话
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
source = reader.readLine();
key = "as";//待统计出现频度的词语
int num = GetFrequency(source, key);
System.out.println(key" 在这段话中出现的频度为 "num);
}
public static int GetFrequency(String source,String key){
int i, j, count = 0;
int len1 = source.length();//这段话的长度
int len2 = key.length();//待统计词语的长度
for(i=0; ilen1-len2; i){
for(j=0; jlen2; j){//统计词语和这段话逐字符进行比较
if(key.charAt(j) != source.charAt(ji)){
break;
}
}
if(j=key.length()){
count;
}
}
return count;
}
}
JAVA代码实现词频统计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、JAVA代码实现词频统计的信息别忘了在本站进行查找喔 。

    推荐阅读