Встречаемость символов Программа запускается с одним параметром - именем файла, который содержит английский текст. Посчитать частоту встречания каждого символа. Отсортировать результат по возрастанию кода ASCII (почитать в инете). Пример: ','=44, 's'=115, 't'=116. Вывести на консоль отсортированный результат: [символ1] частота1 [символ2] частота2 Закрыть потоки. Пример вывода: , 19 - 7 f 361 Requirements: 1. Считывать с консоли ничего не нужно. 2. Создай поток для чтения из файла, который приходит первым параметром в main. 3. В файле необходимо посчитать частоту встречания каждого символа и вывести результат. 4. Выведенный в консоль результат должен быть отсортирован по возрастанию кода ASCII. 5. Поток для чтения из файла должен быть закрыт. package com.javarush.task.task18.task1821; public class Solution { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new FileReader(args[0])); ArrayList<String> arrayStr = new ArrayList<>(); ArrayList<Character> array = new ArrayList<>(); String s = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm!@#$%^&*()_-=+[]{};:,.?'\"/*-"; for (int i = 0; i < s.length()-1; i++) { array.add(s.charAt(i)); } array.sort((i1,i2) -> (int)i1 -(int)i2); while (reader.ready()){ arrayStr.add(reader.readLine()); } ArrayList<Integer> arrayCount = new ArrayList<>(array.size()); for (int i = 0; i < array.size(); i++) { arrayCount.add(0); } for (String temptStr: arrayStr) { for (int i = 0; i< temptStr.length(); i++) { int index = array.indexOf(temptStr.charAt(i)); int value = arrayCount.get(index); arrayCount.set(index,++value); } } for (int i = 0; i < array.size(); i++) { char tempC = array.get(i); int tempCount = arrayCount.get(i); if(tempCount!=0){ System.out.println(tempC + tempCount);} } } }