JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
new
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Помогите, не понимаю, почему не работает
Svetik Balashova
11 уровень
  • 30.04.2020
  • 369просмотров
  • 2комментариев

Помогите, не понимаю, почему не работает

Вопрос по задаче Cамая длинная последовательность
Java Syntax,  8 уровень,  6 лекция
Обсуждается


1. Создай список чисел.
2. Добавь в список 10 чисел с клавиатуры.
3. Вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.

Пример для списка 2, 4, 4, 4, 8, 8, 4, 12, 12, 14:
3

Искомое значение равно 3, т.к. самая длинная последовательность повторяющихся чисел состоит из трех четверок.

Требования:
  • Программа должна выводить число на экран.
  • Программа должна считывать значения с клавиатуры.
  • В методе main объяви переменную типа List с типом элементов Integer и сразу проинициализируй ee.
  • Программа должна добавлять в коллекцию 10 чисел, согласно условию.
  • Программа должна выводить на экран длину самой длинной последовательности повторяющихся чисел в списке.
package com.javarush.task.task08.task0812; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /* Cамая длинная последовательность */ public class Solution { public static void main(String[] args) throws IOException { List<Integer> list = new ArrayList<Integer>(); for(int i = 0;i < 10; i++){ Scanner scanner = new Scanner(System.in); list.add(scanner.nextInt()); } int k = 0; List<Integer> list1 = new ArrayList<Integer>(); for(int i = 0; i < list.size(); i ++) { for (int j = 0; j < list.size(); j++) { if (list.get(i) == (list.get(j))) { k++; } } list1.add(k); k = 0; } int max = 0; for(int i = 0; i < list1.size() - 1; i++){ if(list1.get(i) > list1.get(i+1)){ max = list.get(i+1); } } if(max == 0){ System.out.println(1); } else System.out.println(max + 1); } }
0
Комментарии (2)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Mario
Уровень 23
Master
30 апреля 2020, 13:02
2. тут полный перебор всех чисел. а нужно проверять текущий и следующий елемент
0
Ksenia Mario
Уровень 23
Master
30 апреля 2020, 12:59
1. не создавай кучу сканеров
Scanner scanner = new Scanner(System.in);
for(int i = 0;i < 10; i++){
            list.add(scanner.nextInt());
        }
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush