public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); List<Integer> list = new ArrayList<Integer>(10); List<Integer> listCount = new ArrayList<Integer>(); for (int i = 0; i < 10; i++) { list.add(Integer.parseInt(reader.readLine())); } for (int z = 0; z < list.size() - 1; z++) { int count = 0; while (list.get(z).equals(list.get(z + 1))) { // как я понял тут сравнивает первый элемент со вторым. count++ // увеличиваем счетчик if (z < list.size() - 2) { // почему -2 ? завчем мы сравниваем первый элемент с седьмым элементом? z++; // тут также почему увеличиваем первый элемент дважды(первый в цикле) } else break; } if (count != 0) // в этом часть кода тоже не понял. listCount.add(count); } if (listCount.size() > 1) { int max = listCount.get(0); for (int m = 1; m < listCount.size(); m++) { if (max < listCount.get(m)) max = listCount.get(m); } System.out.println(max + 1); } if (listCount.size() == 1) System.out.println(listCount.get(0) + 1); // почему добавляет в конце +1? if (listCount.size() == 0) { System.out.println("1"); } }