Добрый день ! JAVA 1. Дан массив записей: наименование товара, цена, сорт. Найти наибольшую цену товаров 1го или 2-го сорта среди товаров, название которых содержит «высший». . Сведения о товаре состоят из наименования, страны-производителя, веса, цены, сорта. Получить наименования товаров заданного сорта с наименьшей ценой. . Сведения о книге состоят из названия, фамилии автор
Ответы на вопрос
Код на языке 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);
}
}
