package com.javarush.test.level07.lesson09.task01; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; /* Три массива 1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам: Число делится на 3 (x%3==0), делится на 2 (x%2==0) и все остальные. Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка. 2. Метод printList должен выводить на экран все элементы списка с новой строки. 3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний. */ public class Solution { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> tree = new ArrayList<Integer>(); ArrayList<Integer> two = new ArrayList<Integer>(); ArrayList<Integer> others = new ArrayList<Integer>(); for (int i = 0; i < 20; i++) { int s = Integer.parseInt(reader.readLine()); list.add(s); if (list.get(i) % 3 == 0) tree.add(s); if (list.get(i) % 2 == 0) two.add(s); if (list.get(i) % 3 != 0 && list.get(i) % 2 != 0) others.add(s); } printList(tree); printList(two); printList(others); } public static void printList(List<Integer> list) { for(int i = 0;i < list.size();i++) System.out.println((list.get(i))); } }
Так выглядит эта задача. Хотя, у меня было другое решение, которое понравилось мне больше:
public static void printList(List<Integer> list) { System.out.println(list); }
Leave A Comment