Выдает следующие ошибки:
В консоль через пробел должны выводиться все байты из файла с минимальным количеством повторов.
Не нужно несколько раз выводить один и тот же байт. (
Данные в консоль должны выводится в одну строку. (выводятся через через print)
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
/*
Самые редкие байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream = new FileInputStream(reader.readLine()); //считывание с файла
HashMap<Integer, Integer> bytesMap = new HashMap<Integer, Integer>();
ArrayList<Integer> bytesList = new ArrayList<Integer>();
while(inputStream.available() > 0){ //до тех пор пока биты считываются с файла
bytesList.add(inputStream.read()); //заполняется список
}
for (int i = 0; i < bytesList.size(); i++) {
int currentInt = bytesList.get(i);
if(bytesMap.containsKey(currentInt)){
int repeat = bytesMap.get(i) + 1;
bytesMap.remove(currentInt);
bytesMap.put(currentInt, repeat);
}
else{
bytesMap.put(currentInt, 1);
}
}
int minFrequency = 0;
for(Integer currentFrequency : bytesMap.values()){
if(minFrequency > currentFrequency){
minFrequency = currentFrequency;
}
}
for(HashMap.Entry<Integer, Integer> pair : bytesMap.entrySet()){
Integer key = pair.getKey();
Integer repeat = pair.getValue();
if(repeat == minFrequency){
System.out.print(key + " ");
}
}
reader.close();
inputStream.close();
}
}