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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任长存 中级黑马   /  2016-1-26 10:59  /  581 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

* 13、获取一个文本上每个字符出现的次数,将结果写在times.txt上
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub
                BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));
                String line = br.readLine();
                char[] c = line.toCharArray();
//                System.out.println(c);
//                Character c1 = Character.
                HashMap<Character, Integer> hm = new HashMap<>();
                for(char c1 : c){
                       
                        if(!hm.containsKey(c)){
                                hm.put(c1, 1);
                        }else{
                                hm.put(c1, (hm.get(c)+1));
                        }
                }
                String s = hm.toString();
                BufferedWriter bw = new BufferedWriter(new FileWriter("times.txt"));
                bw.write(s);
                bw.newLine();
                br.close();
                bw.close();
        }
xxx.txt ; aaabbc
输出结果:
times.txt : {b=1, c=1, a=1}
请问我这个做法有什么问题吗?

1 个回复

倒序浏览
已经解决了,是参数传错了,把for增强循环里的c改成c1 就解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马