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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 烨LEO 中级黑马   /  2015-8-13 00:22  /  252 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;

import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

/* 7、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
*/
public class ExamTest7 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串:");
                String str = sc.nextLine();
                char[] ch = str.toCharArray();// 转换成字符数组
                TreeMap<Character, Integer> map = new TreeMap<>();// 创建一个TreeMap
                for (char c : ch) {// 遍历
                        Character key = c;
                        Integer value = map.get(c);
                        if (value == null) {// 判断,如果值为空,则向集合中添加(key,1),如果不为空则添加(key,value+1)
                                map.put(key, 1);
                        } else {
                                map.put(key, value + 1);
                        }
                }
                // 遍历集合
                Set<Map.Entry<Character, Integer>> set = map.entrySet();
                Iterator<Entry<Character, Integer>> it = set.iterator();
                while (it.hasNext()) {
                        Map.Entry<Character, Integer> me = it.next();
                        Character key = me.getKey();
                        Integer value = me.getValue();
                        System.out.println(key + "(" + value + ")");// 按规定的格式输出
                }
        }

}

2 个回复

正序浏览
赞一个
回复 使用道具 举报
写的不错用到很多知识点,膜拜一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马