Программа работает, с числами до 127 и с числами более 128. И сравнение через equals стоит. Но последний пункт проверки не проходит.
package com.javarush.task.task08.task0812;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.lang.Integer;
/*
Cамая длинная последовательность
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напишите тут ваш код
boolean debug = false;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Integer> numbers = new ArrayList<Integer>();
HashMap<Integer, Integer> table = new HashMap<>();
// Заполняем массив
for (int i = 0; i < 10; i++)
{
numbers.add(Integer.parseInt(br.readLine()));
}
// Предыдущее число
Integer previous = 0;
// Последовательность чисел
boolean breaked = false;
for (Integer number: numbers)
{
if (table.containsKey(number) && number.equals(previous) && !breaked)
{
table.replace(number, table.get(number) + 1);
if (debug) System.out.print("N: " + number + " ");
if (debug) System.out.println("Число найдено, предыдущее равно текущему и последовательность не сломлена");
if (debug) System.out.println(" P: " + previous);
previous = number;
continue;
}
else if (!table.containsKey(number))
{
table.put(number, 1);
if (debug) System.out.print("N: " + number + " ");
if (debug) System.out.println("Числа нет в массиве, добавляется");
if (debug) System.out.println(" P: " + previous);
previous = number;
breaked = false;
continue;
}
if (!previous.equals(number))
{
breaked = true;
if (debug) System.out.print("N: " + number + " ");
if (debug) System.out.println("Предыдущее число не равно текущему, последовательность сломана");
if (debug) System.out.println(" P: " + previous);
}
previous = number;
}
Iterator<HashMap.Entry<Integer, Integer>> mapIterator = table.entrySet().iterator();
int maxSequence = 0;
int maxSequenceNumber = 0;
while (mapIterator.hasNext())
{
HashMap.Entry<Integer, Integer> pair = mapIterator.next();
if (pair.getValue() > maxSequence)
{
maxSequence = pair.getValue();
maxSequenceNumber = pair.getKey();
}
if (debug) System.out.println("Key: " + pair.getKey() + ", Value: " + pair.getValue());
}
System.out.println(maxSequence);
if (debug) System.out.println("Максимальная последовательность у: " + maxSequenceNumber);
}
}