希望各位大哥们能帮帮忙,真的很想学好JAVA
谢谢了

解决方案 »

  1.   

    实现思路:1)使用正则表达式和文件类来共同实现:
    import java.io.*;
    import java.util.regex.*;
    2)将文件类容按行读取,并拼接成字符串:
    File f=new File("*.txt");
    String s=null;
    String a="";
    while((s=f.readLine())!=null)
      a=a+s;//拼接
    3)然后再用正则表达式进行解析
      

  2.   

    import java.io.*;
    import java.util.regex.*;
    public class CountWord{
    public static void main(String args[]) throws Exception{
    File f=new File("a.txt");
    FileInputStream fis=new FileInputStream(f);
    BufferedReader br=new BufferedReader(new InputStreamReader(fis));
    String str=null;
    String total="";
    while((str=br.readLine())!=null){
    total=total+str+" ";
    sort(total);
    }
    /*
     *将文件中的各个单词进行计数,并按照出现的次数从大到小进行排列
     *如果次数相同,则按照单词在字典中的顺序出现
     */
    public static void sort(String total){
    Pattern p=Pattern.compile("[,!;\\.\\s\\?]+");
    String result[]=p.split(total);
    int num=result.length;
    int k=1;
    String s[]=new String[num];
    int wordnum[]=new int[num];
    for(int i=0;i<num;i++){
    s[i]="";
    wordnum[i]=0;
    }
    System.out.println("-------Word Value----------------Count Word---------");
    for(int i=0,m=0;i<num;i++,m++){
    for(int j=i+1;j<num;j++)
    if(result[i].equals(result[j]) && !result[i].equals("") && !result[j].equals("")){
    k=k+1;
    result[j]="";
    }
    s[m]=result[i];
    wordnum[m]=k;
    k=1;
    }
    for(int i=0;i<num;i++)
    for(int j=i+1;j<num;j++){
    if(wordnum[i]<wordnum[j] && wordnum[i]!=0 && wordnum[j]!=0){
    int n=wordnum[i];
    String temp=s[i];
    wordnum[i]=wordnum[j];
    s[i]=s[j];
    wordnum[j]=n;
    s[j]=temp;
    }
    if(wordnum[i]==wordnum[j] && wordnum[i]!=0 && wordnum[j]!=0 && s[i].compareTo(s[j])>0){
    int n=wordnum[i];
    String temp=s[i];
    wordnum[i]=wordnum[j];
    s[i]=s[j];
    wordnum[j]=n;
    s[j]=temp;
    }
    }
    for(int m=0;m<num;m++)
    if(!s[m].equals(""))
    System.out.println(s[m]+"\t\t\t\t"+wordnum[m]);
    }
    }
    由于时间关系,我只是对单词出现的频率进行了统计并按照从大到小排序,出现次数相同的单词按单词在字典中的顺序排列,没有来得及对文件的格式正确性进行判断