输入一段文章,输出最高频与次高频的单词(全部小写,逗号分隔)。文章中仅出现空格,逗号和句号这三种分隔符。
不考虑频率一致的情况。忽略大小写。
输入:I am a student.I come from China.I love China.
输出: i,china
import java.util.HashMap;import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String[] s=scanner.nextLine().split(" |\\.|,");
wordCount(s);
}
public static void wordCount(String[] strs){
Map<String, Integer> result = new LinkedHashMap<String,Integer>();
for(String s:strs)
{
if(!result.containsKey(s.toLowerCase()))
{
result.put(s.toLowerCase(), new Integer(1));
}else
{
result.put(s.toLowerCase(), result.get(s.toLowerCase())+1);
}
}
String max=" ";
int value=0;
for(Entry<String,Integer> entry:result.entrySet())
{
if(entry.getValue()>value){
value=entry.getValue();
max=entry.getKey();
}
}
System.out.print(max+",");
result.remove(max);
max=" ";
value=0;
for(Entry<String,Integer> entry:result.entrySet())
{
if(entry.getValue()>value){
value=entry.getValue();
max=entry.getKey();
}
}
System.out.print(max);
}
}