从文本文件中读取文本,文本文件名被作为命令行参数传递,统计单词不区分大小写。如果第一个字符不是字母,就不统计这个单词,以字典序显示输出,每个单词后面紧跟它的出现次数。
------解决方案--------------------
- Java code
import java.io.*;import java.util.*;public class Test{ public static void main(String args[])throws Exception{ File file = new File("d:\\src\\Test.java"); display(file); } public static void display(File file)throws Exception{ BufferedReader br = new BufferedReader(new FileReader(file)); String line = null; TreeMap<String,Integer> tm = new TreeMap<String,Integer>(); while((line=br.readLine())!=null){ line.toLowerCase(); String reg1 = "\\s+"; String reg2 ="\\w+"; String str[] = line.split(reg1); for(String s: str){ if(s.matches(reg2)){ if(!tm.containsKey(s)){ tm.put(s,1); } else{ tm.put(s,tm.get(s)+1); } } } } System.out.println(tm); }}