Advertisement
FedchenkoIhor

varargs

May 10th, 2016
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.44 KB | None | 0 0
  1. package com.javarush.test.level0.lesson0.task0;
  2.  
  3.  
  4. import java.io.BufferedReader;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9.  
  10. /* Три массива
  11. 1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
  12. Число делится на 3 (x%3==0), делится на 2 (x%2==0) и все остальные.
  13. Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
  14. 2. Метод printList должен выводить на экран все элементы списка с новой строки.
  15. 3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.
  16. */
  17.  
  18. public class Solution {
  19.     public static void main(String[] args) throws Exception {
  20.         ArrayList<Integer> inputIntegerList = new ArrayList<>();
  21.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  22.         for (int i = 0; i < 20; i++) {
  23.             inputIntegerList.add(Integer.parseInt(reader.readLine()));
  24.         }
  25.  
  26.         printList("divided into three", getDividedList(inputIntegerList, true, 3));
  27.         printList("divided into two", getDividedList(inputIntegerList, true, 2));
  28.         printList("other list", getDividedList(inputIntegerList, false, 2, 3));
  29.     }
  30.  
  31.     public static List<Integer> getDividedList(ArrayList<Integer> input, boolean composed, int... divided) {
  32.         List<Integer> result = new ArrayList<>();
  33.         for (int inputElement : input) {
  34.             boolean ok = true;
  35.             for (int dividedElement : divided) {
  36.                 if ((inputElement % dividedElement != 0 && composed)
  37.                         || (inputElement % dividedElement == 0 && !composed)) {
  38.                     ok = false;
  39.                     break;
  40.                 }
  41.             }
  42.             if (ok) {
  43.                 result.add(inputElement);
  44.             }
  45.         }
  46.         return result;
  47.     }
  48.  
  49.     public static void printList(String nameList, List<Integer> list) {
  50.         System.out.println(nameList);
  51.         for (int i : list) {
  52.             System.out.print(i + " ");
  53.         }
  54.         System.out.println();
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement