A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 燕国庆 高级黑马   /  2012-10-10 11:36  /  1036 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

给定一个字符数组,怎样查找里面字符出现的次数,并把次数打印出来

1 个回复

倒序浏览
// 定义一个字符串
                String str = "chenjl___jllsdcee__abda__sdsd";
                // 定义一个HashMap变量
                HashMap<String, Integer> map = new HashMap<String, Integer>();
                for (int i = 0; i < str.length(); i++) {
                        // 取得当前位置的字母.
                        String subString = str.substring(i, i + 1);
                       
                        // 当map中key没有此位置的字母时,填充进去key为字母value为数字
                        if (!map.containsKey(subString)) {
                                // 取得字母出现的次数
                                String[] sum = str.split(subString);
                                if(subString.equals(str.substring(str.length()-1, str.length()))){
                                        map.put(subString, (Integer) (sum.length));
                                }else{
                                        map.put(subString, (Integer) (sum.length - 1));
                                }
                               
                        }
                }
                // 输出HashMap的值
                Set set = map.entrySet();
                Iterator it = set.iterator();
                while (it.hasNext()) {
                        Map.Entry<String, Integer> mp = (Entry<String, Integer>) it.next();
                        System.out.println("字母"+mp.getKey() + "的次数为:" + mp.getValue());
                }

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马