天天看點

Java中Map和StringTokenizer的使用

請編寫一個文本統計程式,統計某個文本檔案中單詞出現的次數(忽略大小寫)。文本檔案作為main方法的參數輸入,輸出如下格式: Hello:3 good:5 moon:1

上述輸出表明了文本檔案中hello單詞出現了3次,good出現了5次,moon出現了1次

import java.util.HashMap;

import java.util.Map;

import java.util.Scanner;

import java.util.StringTokenizer;

public class CalWordsNum {

 public void CalWords(String content)

 {

  Map<String,Integer> m=new HashMap<String,Integer>();

  StringTokenizer stz=new StringTokenizer(content,",;!: ");

  while(stz.hasMoreTokens())

  {

   String temp=stz.nextToken();

   if(m.containsKey(temp))

   {

    m.put(temp, (Integer)m.get(temp) + 1);

   }

   else

    m.put(temp, 1);

  }

  for (Map.Entry<String, Integer> entry : m.entrySet())

   System.out.println(entry.getKey()+":"+entry.getValue());

 }

 public static void main(String[] args)

  System.out.println("請輸入要檢測的文本:");

  Scanner input=new Scanner(System.in);

  String s=input.nextLine();

  CalWordsNum cal=new CalWordsNum();

  cal.CalWords(s.toLowerCase());

}