Задача: 1) ввести 10 цифр с клавиатуры, 2) вывести длину самой длинной последовательности повторяющихся чисел в списке.
Пример для списка 1, 1, 4, 4, 4, 5, 6, 4, 23, 1:
ВЫВОД: 3
Теперь вопрос: почему программа не выводит корректную длину (для чисел больше 128) последовательности если в данной строке применяем "=="?
if (list.get(i) == list.get(i + 1))
если же написать
if (list.get(i).equals(list.get(i + 1)))
вывод будет корректным и для чисел больше 128
public static void main(String[] args) throws IOException {
ArrayList<Integer> list = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int max = 1;
int maximum = 0;
for (int i = 0; i < 10; i++) {
int n = Integer.parseInt(reader.readLine());
list.add(n);
}
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i).equals(list.get(i + 1))) {
max++;
if (max > maximum){
maximum = max;
}
}
else
if (max > maximum){
maximum = max;
max = 1;
}
else
max = 1;
}
System.out.println(maximum);
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я начинающий Android разработчик и пытаюсь устроиться на работуНа одном из собеседованиях мне дали тестовое задание:
Мне нужно разбить строку на слова, а после проверить, сходятся ли 1-я и последняя буква слова