黑马程序员技术交流社区

标题: 【成都校区JavaEE14期】获取打印一字符串每个字符出现次数 [打印本页]

作者: 18782449706    时间: 2018-5-1 20:52
标题: 【成都校区JavaEE14期】获取打印一字符串每个字符出现次数
/*随意创建一字符串,打印出字符串中每个字符出现的次数
打印格式:[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 + "),");
                        }


                }


        }


}






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