Доверьтесь ИИ

Задача:

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

План:

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

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

  1. Создать класс Product с полями name и price, а также соответствующими геттерами.

  2. В методе main:

    • Инициализировать Scanner для ввода данных
    • Создать пустой список products для хранения объектов Product
  3. Ввод данных о товарах:

    • Запустить бесконечный цикл
    • Считывать строку ввода
    • Если введено "done", выйти из цикла
    • Разделить строку на части по пробелу
    • Если получено две части, создать объект Product и добавить его в список
  4. Запросить у пользователя минимальную цену (порог)

  5. Вывод товаров, превышающих порог:

    • Пройти по всем товарам в списке
    • Если цена товара больше порога, вывести его название и цену
  6. Закрыть Scanner

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

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

public class ExpensiveProducts {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Product> products = new ArrayList<>();

        System.out.println("Enter products and prices (product price), type 'done' to finish:");
        while (true) {
            String input = scanner.nextLine();
            if (input.equalsIgnoreCase("done")) {
                break;
            }
            String[] parts = input.split(" ");
            if (parts.length == 2) {
                String name = parts[0];
                double price = Double.parseDouble(parts[1]);
                products.add(new Product(name, price));
            }
        }

        System.out.print("Enter the minimum price threshold: ");
        double threshold = scanner.nextDouble();

        System.out.println("Products above " + threshold + ":");
        for (Product product : products) {
            if (product.getPrice() > threshold) {
                System.out.println(product.getName() + " - " + product.getPrice());
            }
        }

        scanner.close();
    }
}

class Product {
    private String name;
    private double price;

    public Product(String name, double price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }
}

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

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

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

Входные данные:
Apple 1.50
Banana 0.75
Orange 2.00
Mango 3.50
Pineapple 4.25
done
2.50

Ожидаемый результат:
Products above 2.50:
Mango - 3.5
Pineapple - 4.25

Входные данные:
Laptop 999.99
Mouse 24.99
Keyboard 59.99
Monitor 249.99
Headphones 89.99
done
100.00

Ожидаемый результат:
Products above 100.00:
Laptop - 999.99
Monitor - 249.99

Входные данные:
Book 15.99
Pen 1.99
Notebook 5.99
Backpack 39.99
Calculator 29.99
done
20.00

Ожидаемый результат:
Products above 20.00:
Backpack - 39.99
Calculator - 29.99

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

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

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    Импортируются классы для работы со списками и ввода данных.

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

    public class ExpensiveProducts {
        public static void main(String[] args) {
            // ...
        }
    }
    Создается класс ExpensiveProducts с методом main.

  3. Инициализация Scanner и списка продуктов:

    Scanner scanner = new Scanner(System.in);
    List<Product> products = new ArrayList<>();
    Создается объект Scanner для ввода данных и список products для хранения продуктов.

  4. Ввод продуктов и цен:

    System.out.println("Enter products and prices (product price), type 'done' to finish:");
    while (true) {
        String input = scanner.nextLine();
        if (input.equalsIgnoreCase("done")) {
            break;
        }
        String[] parts = input.split(" ");
        if (parts.length == 2) {
            String name = parts[0];
            double price = Double.parseDouble(parts[1]);
            products.add(new Product(name, price));
        }
    }
    Цикл считывает ввод пользователя, разбивает его на части и создает объекты Product, добавляя их в список.

  5. Ввод порогового значения цены:

    System.out.print("Enter the minimum price threshold: ");
    double threshold = scanner.nextDouble();
    Пользователь вводит минимальную цену для фильтрации продуктов.

  6. Вывод продуктов, превышающих пороговое значение:

    System.out.println("Products above " + threshold + ":");
    for (Product product : products) {
        if (product.getPrice() > threshold) {
            System.out.println(product.getName() + " - " + product.getPrice());
        }
    }
    Цикл перебирает все продукты и выводит те, цена которых выше порогового значения.

  7. Закрытие Scanner:

    scanner.close();
    Освобождение ресурсов, связанных с объектом Scanner.

  8. Объявление класса Product:

    class Product {
        private String name;
        private double price;
    
        public Product(String name, double price) {
            this.name = name;
            this.price = price;
        }
    
        public String getName() {
            return name;
        }
    
        public double getPrice() {
            return price;
        }
    }
    Определяется класс Product с полями name и price, конструктором и геттерами.

Блок-схема:

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

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

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

  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
  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