Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Программа запускается с одним параметром - именем файла, который содержит английский текст.
- Посчитать частоту встречания каждого символа.
- Отсортировать результат по возрастанию кода ASCII (почитать в инете).
- Пример:
- ','=44, 's'=115, 't'=116.
- Вывести на консоль отсортированный результат:
- [символ1] частота1
- [символ2] частота2
- Закрыть потоки.
- Пример вывода:
- , 19
- - 7
- f 361
- обьясните пожалуйста что происходит в это участке кода
- for (int i = 0; i < buf.length; i++) {
- if (frequencyMap.containsKey(buf[i]))
- frequencyMap.put(buf[i], frequencyMap.get(buf[i]) + 1);
- else
- frequencyMap.put(buf[i], 1);
- }
- package com.javarush.task.task18.task1821;
- /*
- Встречаемость символов
- */
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.TreeMap;
- public class Solution {
- public static void main(String[] args) throws IOException {
- FileInputStream fileInputStream = new FileInputStream (args[0]);
- TreeMap<Byte, Integer> treeMap = new TreeMap<> ();
- while (fileInputStream.available () > 0) {
- byte []buff = new byte[fileInputStream.available ()];
- fileInputStream.read (buff);
- for (int i = 0; i < buff.length; i++) {
- if (treeMap.containsKey (buff[i])){
- treeMap.put (buff[i], treeMap.get (buff[1]+1));
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment