Вот собственно проблема. Если ввожу числа больше 127 в последовательность, то программа косячит по последнему пункту. А почему??? Я же int использую, а не byte...
ArrayList<Integer> a = new ArrayList<Integer>();
...
            if (a.get(i) == a.get(i+1)) x++;