Всё решаемо!

Задача:

Напишите программу, которая создает список случайных чисел и выводит только те, которые делятся на 3. Java.

План:

  • Алгоритм решения
  • Код программы
  • Примеры входных данных и ожидаемых результатов
  • Объяснение кода программы
  • Блок-схема

Алгоритм решения:

  1. Создание списка случайных чисел:

    • Метод generateRandomNumbers принимает три параметра: количество чисел, минимальное и максимальное значение.
    • Создается пустой список numbers.
    • В цикле генерируются случайные числа с помощью Random.nextInt() и добавляются в список.
    • Возвращается заполненный список случайных чисел.
  2. Фильтрация чисел, делящихся на 3:

    • Метод filterDivisibleByThree принимает список чисел.
    • Создается новый пустой список divisibleByThree.
    • Перебираются все числа из входного списка.
    • Если число делится на 3 без остатка (проверка number % 3 == 0), оно добавляется в новый список.
    • Возвращается список чисел, делящихся на 3.
  3. Основной алгоритм:

    • Генерируется список из 20 случайных чисел от 1 до 100.
    • Список фильтруется, оставляя только числа, делящиеся на 3.
    • Выводятся на экран исходный список случайных чисел и отфильтрованный список.

Код программы на языке Java:

Код Java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class RandomNumbersDivisibleByThree {
    public static void main(String[] args) {
        List<Integer> numbers = generateRandomNumbers(20, 1, 100);
        List<Integer> divisibleByThree = filterDivisibleByThree(numbers);

        System.out.println("Random numbers: " + numbers);
        System.out.println("Numbers divisible by 3: " + divisibleByThree);
    }

    public static List<Integer> generateRandomNumbers(int count, int min, int max) {
        List<Integer> numbers = new ArrayList<>();
        Random random = new Random();

        for (int i = 0; i < count; i++) {
            numbers.add(random.nextInt(max - min + 1) + min);
        }

        return numbers;
    }

    public static List<Integer> filterDivisibleByThree(List<Integer> numbers) {
        List<Integer> divisibleByThree = new ArrayList<>();

        for (Integer number : numbers) {
            if (number % 3 == 0) {
                divisibleByThree.add(number);
            }
        }

        return divisibleByThree;
    }
}

ИИ поможет Вам:

  • решит любую задачу
  • объяснит код
  • расставит комментарии в коде
  • и т.д
Попробуйте

Примеры входных данных и ожидаемых результатов:

Пример 1:
Входные данные: [14, 27, 5, 9, 33, 78, 42, 61, 18, 3, 95, 66, 12, 50, 87, 21, 39, 72, 1, 54]
Ожидаемый результат: [27, 9, 33, 42, 18, 3, 66, 12, 21, 39, 72, 54]

Пример 2:
Входные данные: [7, 22, 36, 48, 15, 91, 63, 2, 81, 30, 55, 99, 6, 74, 45, 19, 87, 51, 93, 60]
Ожидаемый результат: [36, 48, 15, 63, 81, 30, 99, 6, 45, 51, 93, 60]

Пример 3:
Входные данные: [11, 25, 38, 42, 57, 69, 73, 84, 96, 5, 17, 31, 49, 62, 75, 88, 93, 102, 114, 127]
Ожидаемый результат: [42, 69, 84, 96, 75, 102, 114]

Объяснение кода программы:

  1. Импорт необходимых классов:

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    Импортируются классы для работы со списками (ArrayList и List) и генерации случайных чисел (Random).

  2. Объявление основного класса:

    public class RandomNumbersDivisibleByThree {
    Создается публичный класс с именем RandomNumbersDivisibleByThree.

  3. Метод main:

    public static void main(String[] args) {
        List<Integer> numbers = generateRandomNumbers(20, 1, 100);
        List<Integer> divisibleByThree = filterDivisibleByThree(numbers);
    
        System.out.println("Random numbers: " + numbers);
        System.out.println("Numbers divisible by 3: " + divisibleByThree);
    }
    Основной метод программы. Генерирует список из 20 случайных чисел от 1 до 100, фильтрует числа, делящиеся на 3, и выводит результаты.

  4. Метод generateRandomNumbers:

    public static List<Integer> generateRandomNumbers(int count, int min, int max) {
        List<Integer> numbers = new ArrayList<>();
        Random random = new Random();
    
        for (int i = 0; i < count; i++) {
            numbers.add(random.nextInt(max - min + 1) + min);
        }
    
        return numbers;
    }
    Генерирует список случайных чисел заданного количества в указанном диапазоне.

  5. Метод filterDivisibleByThree:

    public static List<Integer> filterDivisibleByThree(List<Integer> numbers) {
        List<Integer> divisibleByThree = new ArrayList<>();
    
        for (Integer number : numbers) {
            if (number % 3 == 0) {
                divisibleByThree.add(number);
            }
        }
    
        return divisibleByThree;
    }
    Фильтрует входной список чисел, оставляя только те, которые делятся на 3 без остатка.

Блок-схема:

Нажмите на изображение, чтобы увеличить

Блок-схема к задаче: Напишите программу, которая создает список случайных чисел и выводит только те, которые делятся на 3.

Личный кабинет

  1. Приоритетная обработка
    Запросы от пользователей личного кабинета обрабатываются в первую очередь
  2. Бонус за регистрацию
    Стартовый бонус на счёт личного кабинета (~20 запросов), без регистрации - 3 запроса
  3. Все передовые нейросети
    В личном кабинете представлен широкий выбор нейросетей (20+).
  4. Генерация реалистичных изображений
    Midjourney 6.0, Stable Diffusion XL, Dall-E 3, Playground v2.5, Flux.1 Schnell, Flux.1 Dev, Flux.1 Pro, Flux.1.1 Pro, Kolors, Recraft v3, GPT Image 1 (low), GPT Image 1 (medium), GPT Image 1 (high)
  5. Создание музыки
    Нейросеть Suno создает музыку на основе вашего текста
  6. Нет ограничения на количество символов
    Без регистрации вы можете отправить запрос не более 1000 символов
  7. Работа с файлами
    Поддержка всех популярных форматов: pdf, excel, word, powerpoint, odt, c, js, php, py, html, sql, xml, yaml, markdown, txt, json, csv, png, jpeg и другие
Зарегистрироваться
Личный кабинет smartbuddy.ru