统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.该如何解决
统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.
统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.这题怎么做?
------解决方案--------------------
统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.这题怎么做?
------解决方案--------------------
- Java code
public static void main(String[] args) {
String str = "中文fdas中ad文jak中jfsadfasdf";
char[] chars = str.toCharArray();
HashMap<String, Integer> m = new HashMap<String, Integer>();
for(int i = 0 ;i<chars.length;i++){
int count = m.get(""+chars[i]) == null?0:m.get(""+chars[i]);
m.put(""+chars[i], ++count);
}
for(String key : m.keySet()){
System.out.println(key + ":" + m.get(key));
}
}
------解决方案--------------------
- Java code
public static void main(String[] args) {
String a = "中文fdas中ad文jak中jfsadfasdf";
String[] arr = a.split("(?<=\\G.{1})");
String s2 = "";
Arrays.sort(arr);
for (String i : arr) {
s2 += i + "-";
}
Matcher m = Pattern.compile("((\\w*-)|([\u4e00-\u9fa5]-))\\1*").matcher(s2);
while (m.find()) {
System.out.println(m.group().substring(0, 1) + "的个数:"
+ m.group().split("-").length);
}
}