Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level0.lesson0.task0;
- 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 {
- ArrayList<Integer> inputIntegerList = new ArrayList<>();
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- for (int i = 0; i < 20; i++) {
- inputIntegerList.add(Integer.parseInt(reader.readLine()));
- }
- printList("divided into three", getDividedList(inputIntegerList, true, 3));
- printList("divided into two", getDividedList(inputIntegerList, true, 2));
- printList("other list", getDividedList(inputIntegerList, false, 2, 3));
- }
- public static List<Integer> getDividedList(ArrayList<Integer> input, boolean composed, int... divided) {
- List<Integer> result = new ArrayList<>();
- for (int inputElement : input) {
- boolean ok = true;
- for (int dividedElement : divided) {
- if ((inputElement % dividedElement != 0 && composed)
- || (inputElement % dividedElement == 0 && !composed)) {
- ok = false;
- break;
- }
- }
- if (ok) {
- result.add(inputElement);
- }
- }
- return result;
- }
- public static void printList(String nameList, List<Integer> list) {
- System.out.println(nameList);
- for (int i : list) {
- System.out.print(i + " ");
- }
- System.out.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement