华为机试—统计单词个数(map)
输入n个单词,统计各个单词出现的个数
package com.soft.wk;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author wk
* 2015-04-10 15:30
*/
public class CalculationNumber {
public static void main(String[] args) {
/**
* 利用map存储,key值存储单词,value存储出现的次数
*/
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一串英文单词,中间以空格隔开:");
Map<String,Integer> map = new HashMap<String,Integer>();
try {
String str = in.readLine();
String[] s = str.split("\\s"); //以空格切割
for(int i = 0;i<s.length;i++){
if(map.containsKey(s[i])){
map.put(s[i], map.get(s[i]) + 1);
}else{
map.put(s[i], 1);
}
}
} catch (IOException e) {
e.printStackTrace();
}
/**
* 遍历Map
*/
for(Map.Entry<String, Integer> entry:map.entrySet()){
System.out.println(entry.getKey() + " 出现的次数为:" + entry.getValue());
}
}
/**
* 判断是否都是英文单词
* @param english
* @return
*/
public static boolean isEnglish(String english){
String regex = "^[a-zA-Z\\s]+$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(english);
if(!m.matches()){
return false;
}
return true;
}
}
/**
华为机试—统计单词个数(map)
输入n个单词,统计各个单词出现的个数
*/