Собственно, сабж. Кажется, что всё в порядке. Но так только кажется. В чем проблема?
код:
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<Integer> randomArray = new ArrayList<>();
// прочитали строку с названием файла
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
// создали массив и считали биты
FileInputStream inputStream = new FileInputStream(name);
while (inputStream.available() > 0) {
int data = inputStream.read();
randomArray.add(data);
}
inputStream.close();
//сделали карту, где цифра:частотность
HashMap<Integer, Integer> numbersMap = new HashMap<>();
for (int i = 0; i < randomArray.size(); i++) {
int frequency = Collections.frequency(randomArray,i);
numbersMap.put(i,frequency);
}
// Нашли максимальную частоту
int maxValue = Collections.max(numbersMap.values());
// Перебрали массив и сравнили максимальную частоту с найденной, показали через пробел
for (Map.Entry entry : numbersMap.entrySet()) {
if (entry.getValue().equals(maxValue)) {
System.out.print(entry.getKey()+" ");
}
}
}
}package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<Integer> randomArray = new ArrayList<>();
// прочитали строку с названием файла
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
// создали массив и считали биты
FileInputStream inputStream = new FileInputStream(name);
while (inputStream.available() > 0) {
int data = inputStream.read();
randomArray.add(data);
}
inputStream.close();
//сделали карту, где цифра:частотность
HashMap<Integer, Integer> numbersMap = new HashMap<>();
for (int i = 0; i < randomArray.size(); i++) {
int frequency = Collections.frequency(randomArray,i);
numbersMap.put(i,frequency);
}
// Нашли максимальную частоту
int maxValue = Collections.max(numbersMap.values());
// Перебрали массив и сравнили максимальную частоту с найденной, показали через пробел
for (Map.Entry entry : numbersMap.entrySet()) {
if (entry.getValue().equals(maxValue)) {
System.out.print(entry.getKey()+" ");
}
}
}
}