黑马程序员技术交流社区

标题: 统计出字符串中字母和数字出现的次数 [打印本页]

作者: kangnam    时间: 2016-9-17 22:26
标题: 统计出字符串中字母和数字出现的次数
/* 键盘录入一段字符串,要求使用map集合统计出字符串中字母和数字出现的次数,如果有其他字符则当做
* 号来统计,最后按指定方式输出(不要求排序)
* 例如录入字符串:aaaabbbcccddd1112233^^^
* 输出的格式为: *(3),1(3),2(2),3(2),a(4),b(3),c(3),d(3) (注意:括号前面是字符,里面是次数)
    1,创建键盘录入对象
        2,创建出map集合
        3,使用map集合开始添加元素
        4,遍历和拼接字符串
        5,输出拼接后的字符串
*/
public class Test4 {
        public static void main(String[] args) {
                Scanner sc =new Scanner(System.in);
                System.out.println("输入一段字符串:");
                String  line =sc.nextLine();
                char[]  ch =line.toCharArray();
                TreeMap<Character,Integer> map =new TreeMap<>();
                for (int i = 0; i <ch.length; i++) {
                        if(!map.containsKey(ch[i])){
                                map.put(ch[i], 1);
                        }else{
                                map.put(ch[i], map.get(ch[i])+1);
                        }
                }
                //遍历和拼接字符串
                Set<Character> set =map.keySet();
                StringBuilder sb =new StringBuilder();
                for (Character s:set) {
                        sb.append(s).append("(").append(map.get(s)).append(")");
                }
                System.out.println(sb);
        }
}

作者: Zzh94520    时间: 2016-9-17 22:33
6666666666666666666
作者: jianghaiyan    时间: 2016-10-21 23:31
”如果有其他字符则当做 * 号来统计”但是这个功能没有实现
作者: jianghaiyan    时间: 2016-10-21 23:32
”如果有其他字符则当做 * 号来统计”但是这个功能没有实现
作者: Jerry007    时间: 2016-10-21 23:37
拼接的时候好像缺少了逗号吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2