从文本文件中读取文本,文本文件名被作为命令行参数传递,统计单词不区分大小写。如果第一个字符不是字母,就不统计这个单词,以字典序显示输出,每个单词后面紧跟它的出现次数。

解决方案 »

  1.   


    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);
    }
    }
      

  2.   

    String reg2 ="^[a-zA-Z]\\w*";
      

  3.   

    String reg1 = "\\s+";
    String reg2 ="\\w+";
    这两行是什么意思啊?