package com.javarush.test.level18.lesson10.home06; /* Встречаемость символов Программа запускается с одним параметром - именем файла, который содержит английский текст. Посчитать частоту встречания каждого символа. Отсортировать результат по возрастанию кода ASCII (почитать в инете). Пример: ','=44, 's'=115, 't'=116 Вывести на консоль отсортированный результат: [символ1] частота1 [символ2] частота2 Закрыть потоки. Не использовать try-with-resources Пример вывода: , 19 - 7 f 361 */ import java.io.*; import java.util.Map; import java.util.TreeMap; public class Solution { public static void main(String[] args) throws IOException { TreeMap<Integer, Integer> map = new TreeMap<>(); BufferedReader reader = new BufferedReader(new FileReader(new File(args[0]))); int c; while ((c = reader.read()) != -1) { int x = (char) c; int z = 1; for (Map.Entry<Integer, Integer> integer : map.entrySet()) { if (integer.getKey() == x) { z += integer.getValue(); } } map.put(x, z); } for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println(((char) (int) entry.getKey()) + " " + entry.getValue()); } reader.close(); } }
Leave A Comment