Порядок не нарушил. Все работает. Подскажите, что именно не нравится валидатору?
package com.javarush.task.task07.task0713;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Играем в Jолушку
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> mainList = new ArrayList<Integer>(); // Первый список он же Главный
ArrayList<Integer> dividedBy3 = new ArrayList<Integer>(); // Первый дополнительный список
ArrayList<Integer> dividedBy2 = new ArrayList<Integer>(); // Второй дополнительный список
ArrayList<Integer> otherList = new ArrayList<Integer>(); // Третий пополнительный список
for (int i = 0 ; i < 20 ; i++){
mainList.add(Integer.parseInt(reader.readLine()));
if (mainList.get(i)%3 == 0 )
dividedBy3.add(mainList.get(i));
if (mainList.get(i)%2 == 0 )
dividedBy2.add(mainList.get(i));
if (mainList.get(i)%3 ==0 && mainList.get(i)%2 ==0)
dividedBy3.add(mainList.get(i));
dividedBy2.add(mainList.get(i));
if (mainList.get(i)%3 !=0 && mainList.get(i)%2 !=0)
otherList.add(mainList.get(i));
}
printList(dividedBy3);
printList(dividedBy2);
printList(otherList);
}
public static void printList(ArrayList<Integer> list){
for (int i:list)
System.out.println(i);
}
}