当前位置: 代码迷 >> J2SE >> 统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.该如何解决
  详细解决方案

统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.该如何解决

热度:101   发布时间:2016-04-24 12:20:21.0
统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.
统计任意一字符串中的每个字符出现次数,内容中包含有中文且只能使用一次循环.这题怎么做?

------解决方案--------------------
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);        }    }
  相关解决方案