JavaRush
AI Academy
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Как теперь вывести 3 списка из метода printList?
Никита Хватов
8 уровень
  • 22.11.2017
  • 1472просмотров
  • 3комментариев

Как теперь вывести 3 списка из метода printList?

Вопрос по задаче Три массива
Java Syntax,  7 уровень,  9 лекция
Архивный

1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
Число нацело делится на 3 (x%3==0), нацело делится на 2 (x%2==0) и все остальные.
Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
Порядок объявления списков очень важен.
2. Метод printList должен выводить на экран все элементы списка с новой строки.
3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.

Требования:
  • Объяви и сразу проинициализируй 4 переменных типа ArrayList<Integer> (список целых чисел). Первый список будет главным, а остальные - дополнительными.
  • Считать 20 чисел с клавиатуры и добавить их в главный список.
  • Добавить в первый дополнительный список все числа из главного, которые нацело делятся на 3.
  • Добавить во второй дополнительный список все числа из главного, которые нацело делятся на 2.
  • Добавить в третий дополнительный список все остальные числа из главного.
  • Метод printList должен выводить на экран все элементы переданного списка, каждый с новой строки.
  • Программа должна вывести три дополнительных списка, используя метод printList.
....
package com.javarush.task.task07.task0713; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /* Играем в Jолушку */ public class Solution { public static void main(String[] args) throws Exception { //напишите тут ваш код BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList list = new ArrayList(); ArrayList list3 = new ArrayList(); ArrayList list2 = new ArrayList(); ArrayList list0 = new ArrayList(); for (int i = 0; i < 20; i++) { int s = Integer.parseInt(reader.readLine()); list.add(s); if (s % 3 != 0 && s % 2 != 0) { list0.add(s); } else { if (s % 3 == 0) { list3.add(s); } if (s % 2 == 0) { list2.add(s); } } } } public static void printList(List<Integer> list) { //напишите тут ваш код } }
0
Комментарии (3)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим
Уровень 40
Expert
22 ноября 2017, 12:46полезный
Ну, во-первых, ты, когда объявил списки не указал в угловых скобках тип объектов, которые будут храниться в листах. Валли это не пропустит. Во-вторых, там где распределяешь числа по спискам у тебя не хватает одного условия (Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка*). Далее в методе мейн вызываешь три раза метод printList. И в качестве аргументов передаешь ему свои листы. Ну а в методе printList проходишь по переданному листу форычем и выводишь каждое число с новой строки.
+4
Никита Хватов
Уровень 8
22 ноября 2017, 13:22
Спасибо. В угловых скобках написал тип объектов, условие выполнил. В методе мейн вызвал метод printList. А в самом методе не могу понять как вывести числа(
0
Максим
Уровень 40
Expert
22 ноября 2017, 13:40
for (int number: list) {
           System.out.println(number);
       }
Как-то так. list - это твой список, который ты передаешь методу printList в методе main. Надо три списка передать, т.е. три раза вызвать метод printList. P.S. Можно конечно еще красивее сделать с помощью лямбд. Вот так, например:
list.forEach(System.out::println);
Хотя, признаться честно, я сам в них еще не очень шарю. Но я думаю для седьмого уровня будет достаточно и первого варианта.
+4
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush