Добрый день.
Подскажите как делать 3 пункт задания.
Как я представляю, то должна быть переменная в нее записываем повторение и сравниваем с предыдущим результатом.
Но это очень будет большой код. Может как то проще будет?
Такой большой код расписывать не очень хочет и много переменных будет, боюсь запутаться.
В рекомендации пишется, что не нужно выводить одно и то же значение.
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.Collections;
import java.util.TreeSet;
/*
Самые редкие байты
*/
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());
ArrayList<Integer> sum = new ArrayList<>();
while (inputStream.available() > 0) //пока остались непрочитанные байты
{
int data = inputStream.read(); //прочитать очередной байт
sum.add(data); // добавить его к общей сумме
}
inputStream.close(); // закрываем поток
try {
for (int i = 0; i < sum.size(); i++) {
if (sum.get(i) != sum.get(i+1)){
System.out.print(sum.get(i) + " ");
}
}
}catch (IndexOutOfBoundsException e){
}
//выводим сумму на экран.
}
}