统计单词频率
Posted yeshenfeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计单词频率相关的知识,希望对你有一定的参考价值。
这个代码没有完成,不过我了解到如何去读取指定位置的文件,以后可以当作模板来用。
以下是暂时完成的代码
1.文件读取
package wordcont; import java.util.Scanner; import wordcont.WordCont; public class Main { /** * @param args */ public static void main(String[] args) { System.out.println("输入文件路径: "); Scanner in=new Scanner(System.in); String line=in.nextLine(); String fileName= line.trim(); WordCont wc = new WordCont(); wc.displayWordCount(fileName); wc.displayFrequencyWord(fileName); } }
2.部分统计频率代码
package wordcont; 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.Map; import java.util.Set; import java.util.StringTokenizer; import java.util.TreeMap; import java.util.TreeSet; import wordcont.WordEntity; public class WordCont { public void displayWordCount(String fileName){ //字符统计 try { BufferedReader reader = new BufferedReader(new FileReader(fileName)); String line = null; TreeMap<String,Integer> tm = new TreeMap<String,Integer>(); while((line=reader.readLine())!=null){ line = line.toLowerCase(); String str[] = line.split("\s+"); for(int i = 0; i<str.length; i++){ String word = str[i].trim(); if(tm.containsKey(word)){ tm.put(word, tm.get(word)+1); }else{ tm.put(word, 1); } } } //输出我们想要的字符串格式
以上是关于统计单词频率的主要内容,如果未能解决你的问题,请参考以下文章