Самые частые байты
Ввести с консоли имя файла.
Найти байт или байты с максимальным количеством повторов.
Вывести их на экран через пробел.
Закрыть поток ввода-вывода.
Требования:
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с максимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
ArrayList list = new ArrayList ();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
FileInputStream inputStream =new FileInputStream(file);
while (inputStream.available()>0) {
list.add(inputStream.read());
}
inputStream.close();
int count= 0;
for(int i=0;list.size()>i;i++) {
if (frequency(list, list.get(i)) > count) {
count = frequency(list, list.get(i));
}
}
for(int i=0;list.size()>i;i++){
if(frequency(list,list.get(i))==count){
System.out.print(list.get(i)+" ");
}
}
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.Collection;
import java.util.List;
import static java.util.Collections.frequency;
/*
Самые частые байты
Ввести с консоли имя файла.
Найти байт или байты с максимальным количеством повторов.
Вывести их на экран через пробел.
Закрыть поток ввода-вывода.
Требования:
1. Программа должна считывать имя файла с консоли.
2. Для чтения из файла используй поток FileInputStream.
3. В консоль через пробел должны выводиться все байты из файла с максимальным количеством повторов.
4. Данные в консоль должны выводится в одну строку.
5. Поток чтения из файла должен быть закрыт.
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList list = new ArrayList ();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
FileInputStream inputStream =new FileInputStream(file);
while (inputStream.available()>0) {
list.add(inputStream.read());
}
inputStream.close();
// int maxIND =0;
int count= 0;
for(int i=0;list.size()>i;i++) {
if ((frequency(list, list.get(i))) > count) {
// maxIND = i;
count = frequency(list, list.get(i));
}
}
for(int i=0;list.size()>i;i++){
if(frequency(list,list.get(i))==count){
System.out.print(list.get(i)+" ");
}
}
}
}