编写一个程序,用于统计单词的总数,不同单词的数目。(假设输入文件中只包含字母和空格)   
    
  eg:   I   love   Beijing   and   I   love   Shanghai.   
  单词总数:7   
  不同单词数目:5   我之前做的一个只能统计相临的两个单词.
do{
  if(temp[i]==temp[i-1]){
    j-=1;
  }
  i++;
  j++;
}while(i<temp.length);
现在想实现题目的要求,不知道思路,请教大家了

解决方案 »

  1.   

    import java.util.*;public class TestStringTokenizer {
    private String temp="I   love   Beijing   and   I   love   Shanghai";
    public TestStringTokenizer() {
    super();
    doSomeThing(temp);
    } public static void main(String[] args) {
    new TestStringTokenizer();
    }

    private void doSomeThing(String temp){
    StringTokenizer st=new StringTokenizer(temp);
    List list=new ArrayList();
    Set set=new HashSet();
    while(st.hasMoreTokens()){
    String tempStr=(String)st.nextToken();
    list.add(tempStr);
    set.add(tempStr);
    }
    System.out.println(list.size());
    System.out.println(set.size());
    }
    }
      

  2.   

    用set可以计算出不同单词的个数,单词总个数就是读一个加1。