Выводит значения верно. Как понял валидатору не нравится то что добавил допольнительные передаваемые параметры в метод printList. Что надо только чтобы был один параметр в виде - public static void printList(List<Integer> list). Но если не добавлять 3 дополнительных, то как тогда можно выполнить пункт "Программа должна вывести три дополнительных списка" ?
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 {
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> list1 = new ArrayList<>();
ArrayList<Integer> list2 = new ArrayList<>();
ArrayList<Integer> list3 = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 20; i++) {
int number = Integer.parseInt(reader.readLine());
list.add(number);
if (number % 3 == 0 && number % 2 == 0) {
list1.add(number);
list2.add(number);
} else if (number % 3 == 0) {
list1.add(number);
} else if (number % 2 == 0) {
list2.add(number);
} else {
list3.add(number);
}
}
printList(list, list1, list2, list3);
}
public static void printList(List<Integer> list, List<Integer> list1, List<Integer> list2, List<Integer> list3) {
for (int x : list1) {
System.out.println(x);
}
for (int y : list2) {
System.out.println(y);
}
for (int z : list3) {
System.out.println(z);
}
}
}
/*1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
Число нацело делится на 3 (x%3==0), нацело делится на 2 (x%2==0) и все остальные.
Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
2. Метод printList должен выводить на экран все элементы списка с новой строки.
3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.*/