Информатика, вопрос задал Demonboxa2017 , 1 год назад

Добрый день ! JAVA 1. Дан массив записей: наименование товара, цена, сорт. Найти наибольшую цену товаров 1го или 2-го сорта среди товаров, название которых содержит «высший». . Сведения о товаре состоят из наименования, страны-производителя, веса, цены, сорта. Получить наименования товаров заданного сорта с наименьшей ценой. . Сведения о книге состоят из названия, фамилии автор

Ответы на вопрос

Ответил TemaZpro
0

Код на языке Java:

import java.util.ArrayList;

import java.util.List;

class Product {

   private String name;

   private double price;

   private String grade;

   public Product(String name, double price, String grade) {

       this.name = name;

       this.price = price;

       this.grade = grade;

   }

   public String getName() {

       return name;

   }

   public double getPrice() {

       return price;

   }

   public String getGrade() {

       return grade;

   }

}

public class Main {

   public static void main(String[] args) {

       List<Product> products = new ArrayList<>();

       products.add(new Product("Товар 1", 100.0, "1-й сорт"));

       products.add(new Product("Товар 2", 200.0, "2-й сорт"));

       products.add(new Product("Товар 3 высший", 300.0, "1-й сорт"));

       products.add(new Product("Товар 4 высший", 400.0, "2-й сорт"));

       double maxPrice = 0.0;

       for (Product product : products) {

           if ((product.getGrade().equals("1-й сорт") || product.getGrade().equals("2-й сорт"))

                   && product.getName().contains("высший")) {

               if (product.getPrice() > maxPrice) {

                   maxPrice = product.getPrice();

               }

           }

       }

       System.out.println("Наибольшая цена товаров 1-го или 2-го сорта с названием \"высший\": " + maxPrice);

       String targetGrade = "1-й сорт";

       double minPrice = Double.MAX_VALUE;

       List<String> namesWithMinPrice = new ArrayList<>();

       for (Product product : products) {

           if (product.getGrade().equals(targetGrade)) {

               if (product.getPrice() < minPrice) {

                   minPrice = product.getPrice();

                   namesWithMinPrice.clear();

                   namesWithMinPrice.add(product.getName());

               } else if (product.getPrice() == minPrice) {

                   namesWithMinPrice.add(product.getName());

               }

           }

       }

       System.out.println("Наименования товаров сорта \"" + targetGrade + "\" с наименьшей ценой: " + namesWithMinPrice);

   }

}

Приложения:
Новые вопросы