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

© 792241113 中级黑马   /  2016-10-15 00:14  /  943 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Test9 {
        // 1.在项目根目录下创建2个文件和result.txt,data.txt文件中包含数据:
        // asdwsxedcrfvqazf
        // 2.要求:编写程序读取data.txt中数据每一个字符出现的次数,统计结果格式为 字符:次数,并以”,”连接,
        // 如:a:5,b:4,c:3,d:2并将统计结果存放在文件result.txt中
        // 要求:最后一个数字后不能有逗号;
        public static void main(String[] args) throws IOException {
                BufferedReader br = new BufferedReader(new FileReader("data.txt"));
                String s = br.readLine();
                br.close();
                HashMap<Character, Integer> map = new HashMap<Character, Integer>();
                char[] ch = s.toCharArray();
                for (char c : ch) {
                        if (map.get(c) != null) {
                                Integer i = map.get(c);
                                i++;
                                map.put(c, i);
                        } else {
                                map.put(c, 1);
                        }
                }
                Set<Character> keySet = map.keySet();
                char[] ch2 = new char[keySet.size()];
                int number = 0;
                for (Character character : keySet) {
                        ch2[number] = character;
                        number++;
                }
                Arrays.sort(ch2);
                StringBuffer sb = new StringBuffer();
                for (char c : ch2) {
                        sb.append(c + ":" + map.get(c) + ",");
                }
                String sum = sb.toString();
                String sum2 = sum.substring(0, sum.length() - 1);
                BufferedWriter bw = new BufferedWriter(new FileWriter("result.txt"));
                bw.write(sum2);
                bw.close();
               
        }
您需要登录后才可以回帖 登录 | 加入黑马