如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...- public class Test1 {
- public static void main(String[] args) {
- // 键盘输入一个字符串
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入一个字符串:");
- String s = sc.nextLine();
- // 定义一个map集合
- TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();
-
- // 将字符串转换为字符数组
- char[] chr = s.toCharArray();
-
- // 增强for循环字符数组
- for(char chrs:chr){
- //根据字符去TreeMap结合中找值
- Integer i = tm.get(chrs);
- // 根据返回的值判断,如果是null说明集合中没有
- if(i == null){
- tm.put(chrs, 1);
- }else{
- i++;
- tm.put(chrs, i);
- }
- }
-
- //定义字符串缓冲变量
- StringBuffer sb = new StringBuffer();
-
- //遍历集合,获取键和值
- Set<Character> set = tm.keySet();
- for(Character key : set){
- Integer value = tm.get(key);
- sb.append(key).append("(").append(value).append(")");
- }
- // 输出结果
- System.out.println(sb.toString());
- }
- }
复制代码
|
|