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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流空有痕 中级黑马   /  2016-9-13 23:59  /  419 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

打印出字符串"abbbbbccccdddee"中每个字符出现的次数,要求输出格式:"a(1)b(5)c(4)d(3)e(2)",并将结果写入文件。
                public class Test02 {

                        public static void main(String[] args) throws IOException {
                                // 1,定义一个需要被统计字符的字符串
                                String s = "abbbbbccccdddee";
                                // 2,将字符串转换为字符数组
                                char[] arr = s.toCharArray();
                                // 3,定义双列集合,存储字符串中字符以及字符出现的次数
                                TreeMap<Character, Integer> map = new TreeMap<>();
                                // 4,遍历字符数组获取每一个字符,并将字符存储在双列集合中
                                for (char c : arr) {
                                        // 5,存储过程中要做判断,如果集合中不包含这个键,就将该字符当作键,值为1存储,如果集合中包含这个键,就将值加1存储
                                        if (!map.containsKey(c)) { // 如果不包含这个键
                                                map.put(c, 1);
                                        } else {
                                                map.put(c, map.get(c) + 1);
                                        }
                                }
                                // 6,遍历集合将键和值拼接起来
                                StringBuilder sb = new StringBuilder();
                                for (Character key : map.keySet()) { // hm.keySet()代表所有键的集合
                                        sb.append(key + "(" + map.get(key) + ")");
                                }
                               
                                // 输出结果
                                System.out.println(sb);
                               
                                // 创建输出流对象写入文件
                                BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));
                               
                                bw.write(sb.toString());
                               
                                bw.close();
                        }
                }
               

4 个回复

倒序浏览
做了下,几分钟做好后看了答案,我晕了
public class iii {
        public static void main(String[] args) throws InterruptedException, ExecutionException {
                //接收
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个小数");
                double b = sc.nextDouble();
               
                System.out.println(swap(b));
        }

        public static int swap(double b) {
                double nb=b+0.5;
                int a= (int) ((nb/2)*2);
                return a;
        }
       
}
回复 使用道具 举报
这不是课堂上讲过的题目吗
回复 使用道具 举报
赞!!!!!!!!!!!!
回复 使用道具 举报
常规题,挺简单的啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马