天天看点

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

}