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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永川 中级黑马   /  2016-9-15 21:17  /  334 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

键盘录入一个"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
有一些思路 但实现的时候有好多错误 不知道咋回事 希望有谁能帮帮我

2 个回复

倒序浏览
public static void main(String[] args) {                 String s = "abcdekka27qoq";                 char[] ch = s.toCharArray();                                  HashMap<Character, Integer> hm = new HashMap<>();                 for (char c : ch) {                         Integer num = hm.get(c);                         if (num == null) {                                 hm.put(c, 1);                         }else {                                 hm.put(c, num + 1);                         }                                          }                 System.out.println(hm);                                  Set<Entry<Character, Integer>> entrySet = hm.entrySet();                 for (Entry<Character, Integer> entry : entrySet) {                         System.out.print(entry.getKey() + "(" + entry.getValue() + ")");                 }         }
回复 使用道具 举报
package cn.itcast.day21_Prictice1;

import java.util.HashMap;
public class Test {
        public static void main(String[] args) {
                String str = "aababcabcdabcde";
                // 创建一个map对象
                HashMap<Character,Integer> map = new HashMap<>();
               
                char[] ch_arr = str.toCharArray();
               
                for (char c : ch_arr) {
                        if(map.containsKey(c)) {
                                // 若已经存在字符, 则 值加1次
                                int times = map.get(c);
                                map.put(c, times+1);
                        } else {
                                // 若不存在,值:存1次
                                map.put(c,1);
                        }
                }
                method(map,'a');
                method(map,'b');
                method(map,'c');
                method(map,'d');
                method(map,'e');
        }
        public static void method(HashMap<Character,Integer> map, char c) {
                System.out.print(c+"("+map.get(c)+")");
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马