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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*随意创建一字符串,打印出字符串中每个字符出现的次数
打印格式:[a(2),r(1),s(4),3(2),d(1),4(1),5(1),e(2),f(4),6(2),g(1),-(1)]
*/


public class CountChar {
        public static void main(String[] args) {
                        //随意创建一个字符串
                String s = "fsfsfsfs3da-35466geera";
                //将字符串转换为字符数组
                char[] ch = s.toCharArray();
                //创建个HashSet集合用于存储字符,相同字符只只存储一次
                HashSet<Character> hs = new HashSet<>();
                //遍历数组,向集合中添加字符元素,同一字符只会添加一次
                for (int i = 0; i < ch.length; i++) {
                        hs.add(ch);
                }
                //将集合转换为数组
                Object[] obj = hs.toArray();
                System.out.print("[");
                //遍历集合数组,根据集合中的每一个字符与原先字符串每个字符进行对比,相同则+1,得到每个字符出现的次数
                for (int i = 0; i < obj.length; i++) {
                        int k = 0;
                        char c = (char) obj;
                        for (int j = 0; j < s.length(); j++) {
                                if (s.charAt(j) == c) {
                                        k++;
                                }
                        }
                        //打印字符串中字符出现次数
                        if (i == obj.length - 1) {
                                System.out.print(c + "(" + k + ")]");
                        } else {
                                System.out.print(c + "(" + k + "),");
                        }


                }


        }


}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马