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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 恐高的鸟 中级黑马   /  2016-6-6 22:58  /  398 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Test1--取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq",输出格式为:a(2)b(1)k(2)...

2 个回复

倒序浏览
package com.heima.IO;

import java.io.IOException;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
/*取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq",输出格式为:a(2)b(1)k(2)...*/

public class Day1_ClassTest2 {
        public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        char[] ch = s.toCharArray();
       
        TreeMap<Character, Integer> tm = new TreeMap<>();
        for (char c : ch) {
                if((c>='A'&&c<='Z')||(c>='a'&&c<='z')){
                        if(tm.containsKey(c)){
                                tm.put(c, tm.get(c)+1);
                        }else{
                                tm.put(c, 1);
                        }
                }
        }
       
        Set<Character> st = tm.keySet();
        for (Character cha : st) {
                System.out.print(cha+"("+tm.get(cha)+")");
        }

        }

}
回复 使用道具 举报
package com.heima.IO;

import java.io.IOException;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

/*取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq",输出格式为:a(2)b(1)k(2)...*/

public class Day1_ClassTest2 {
        public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                String s = sc.nextLine();
                StringBuffer sb = new StringBuffer();
                for (int i = 0; i < s.length(); i++) {
                        char c = s.charAt(i);
                        if (c >= 'a' && c <= 'z' || c <= 'Z' && c >= 'A') {
                                sb.append(c);
                        }
                }

                s = new String(sb);
                for (int i = 0; i < s.length();) {
                        int a = s.length();
                        char[] ch = new char[1];
                        ch[0] = s.charAt(0);
                        s = s.replace(new String(ch), "");
                        System.out.print(ch[0] + "(" + (a - s.length()) + ")");
                }

        }

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