/* package whatever; // don't place package name! */
import java.util.ArrayList ;
import java.util.Comparator ;
import java.util.List ;
// Класс сладостей
class Sweet {
private double ves;
private double s; // Содержание сахара в граммах на 100 г
public Sweet
( String name,
double ves,
double s
) { this .name = name;
this .ves = ves;
this .s = s;
}
return name;
}
public double getVes( ) {
return ves;
}
public double getS( ) {
return s;
}
return name + " (Вес: " + ves + "г, Содержание сахара: " + s + "г/100г)" ;
}
}
// Класс подарка
class Gift {
private List< Sweet> sweets;
public Gift( ) {
this .sweets = new ArrayList<> ( ) ;
}
public void addSweet( Sweet sweet) {
sweets.add ( sweet) ;
}
public double getTotalWeight( ) {
double totalVes = 0 ;
for ( Sweet sweet : sweets) {
totalVes += sweet.getVes ( ) ;
}
return totalVes;
}
public void sortSweet( ) {
sweets.
sort ( Comparator .
comparingDouble ( Sweet
:: getS
) ) ; }
public Sweet findSweet( double minSugar, double maxSugar) {
for ( Sweet sweet : sweets) {
if ( sweet.getS ( ) >= minSugar && sweet.getS ( ) <= maxSugar) {
return sweet;
}
}
return null ;
}
public void showGift( ) {
for ( Sweet sweet : sweets) {
}
}
}
public class Main {
public static void main
( String [ ] args
) { Sweet candy1 = new Sweet( "Шоколадка" , 100 , 50 ) ;
Sweet candy2 = new Sweet( "Карамелька" , 50 , 60 ) ;
Sweet candy3 = new Sweet( "Мармеладка" , 80 , 40 ) ;
Gift gift = new Gift( ) ;
gift.addSweet ( candy1) ;
gift.addSweet ( candy2) ;
gift.addSweet ( candy3) ;
System .
out .
println ( "Общий вес подарка: " + gift.
getTotalWeight ( ) + "г" ) ;
System .
out .
println ( "\n Сортировка конфет по содержанию сахара:" ) ; gift.sortSweet ( ) ;
gift.showGift ( ) ;
System .
out .
println ( "\n Конфета с содержанием сахара от 45г до 55г:" ) ; Sweet Range = gift.findSweet ( 45 , 55 ) ;
if ( Range != null ) {
System .
out .
println ( "Найдена: " + Range
) ; } else {
System .
out .
println ( "Конфета с указанным содержанием сахара не найдена." ) ; }
}
}
//2 задача
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuQ29tcGFyYXRvcjsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKLy8g0JrQu9Cw0YHRgSDRgdC70LDQtNC+0YHRgtC10LkKY2xhc3MgU3dlZXQgewogICAgcHJpdmF0ZSBTdHJpbmcgbmFtZTsKICAgIHByaXZhdGUgZG91YmxlIHZlczsKICAgIHByaXZhdGUgZG91YmxlIHM7IC8vINCh0L7QtNC10YDQttCw0L3QuNC1INGB0LDRhdCw0YDQsCDQsiDQs9GA0LDQvNC80LDRhSDQvdCwIDEwMCDQswoKICAgIHB1YmxpYyBTd2VldChTdHJpbmcgbmFtZSwgZG91YmxlIHZlcywgZG91YmxlIHMpIHsKICAgICAgICB0aGlzLm5hbWUgPSBuYW1lOwogICAgICAgIHRoaXMudmVzID0gdmVzOwogICAgICAgIHRoaXMucyA9IHM7CiAgICB9CgogICAgcHVibGljIFN0cmluZyBnZXROYW1lKCkgewogICAgICAgIHJldHVybiBuYW1lOwogICAgfQoKICAgIHB1YmxpYyBkb3VibGUgZ2V0VmVzKCkgewogICAgICAgIHJldHVybiB2ZXM7CiAgICB9CgogICAgcHVibGljIGRvdWJsZSBnZXRTKCkgewogICAgICAgIHJldHVybiBzOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmcgdG9TdHJpbmcoKSB7CiAgICAgICAgcmV0dXJuIG5hbWUgKyAiICjQktC10YE6ICIgKyB2ZXMgKyAi0LMsINCh0L7QtNC10YDQttCw0L3QuNC1INGB0LDRhdCw0YDQsDogIiArIHMgKyAi0LMvMTAw0LMpIjsKICAgIH0KfQoKLy8g0JrQu9Cw0YHRgSDQv9C+0LTQsNGA0LrQsApjbGFzcyBHaWZ0IHsKICAgIHByaXZhdGUgTGlzdDxTd2VldD4gc3dlZXRzOwoKICAgIHB1YmxpYyBHaWZ0KCkgewogICAgICAgIHRoaXMuc3dlZXRzID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICB9CgogICAgcHVibGljIHZvaWQgYWRkU3dlZXQoU3dlZXQgc3dlZXQpIHsKICAgICAgICBzd2VldHMuYWRkKHN3ZWV0KTsKICAgIH0KCiAgICBwdWJsaWMgZG91YmxlIGdldFRvdGFsV2VpZ2h0KCkgewogICAgICAgIGRvdWJsZSB0b3RhbFZlcyA9IDA7CiAgICAgICAgZm9yIChTd2VldCBzd2VldCA6IHN3ZWV0cykgewogICAgICAgICAgICB0b3RhbFZlcyArPSBzd2VldC5nZXRWZXMoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRvdGFsVmVzOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIHNvcnRTd2VldCgpIHsKICAgICAgICBzd2VldHMuc29ydChDb21wYXJhdG9yLmNvbXBhcmluZ0RvdWJsZShTd2VldDo6Z2V0UykpOwogICAgfQoKICAgIHB1YmxpYyBTd2VldCBmaW5kU3dlZXQoZG91YmxlIG1pblN1Z2FyLCBkb3VibGUgbWF4U3VnYXIpIHsKICAgICAgICBmb3IgKFN3ZWV0IHN3ZWV0IDogc3dlZXRzKSB7CiAgICAgICAgICAgIGlmIChzd2VldC5nZXRTKCkgPj0gbWluU3VnYXIgJiYgc3dlZXQuZ2V0UygpIDw9IG1heFN1Z2FyKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gc3dlZXQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHVibGljIHZvaWQgc2hvd0dpZnQoKSB7CiAgICAgICAgZm9yIChTd2VldCBzd2VldCA6IHN3ZWV0cykgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oc3dlZXQpOwogICAgICAgIH0KICAgIH0KfQoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFN3ZWV0IGNhbmR5MSA9IG5ldyBTd2VldCgi0KjQvtC60L7Qu9Cw0LTQutCwIiwgMTAwLCA1MCk7CiAgICAgICAgU3dlZXQgY2FuZHkyID0gbmV3IFN3ZWV0KCLQmtCw0YDQsNC80LXQu9GM0LrQsCIsIDUwLCA2MCk7CiAgICAgICAgU3dlZXQgY2FuZHkzID0gbmV3IFN3ZWV0KCLQnNCw0YDQvNC10LvQsNC00LrQsCIsIDgwLCA0MCk7CgogICAgICAgIEdpZnQgZ2lmdCA9IG5ldyBHaWZ0KCk7CiAgICAgICAgZ2lmdC5hZGRTd2VldChjYW5keTEpOwogICAgICAgIGdpZnQuYWRkU3dlZXQoY2FuZHkyKTsKICAgICAgICBnaWZ0LmFkZFN3ZWV0KGNhbmR5Myk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0J7QsdGJ0LjQuSDQstC10YEg0L/QvtC00LDRgNC60LA6ICIgKyBnaWZ0LmdldFRvdGFsV2VpZ2h0KCkgKyAi0LMiKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJcbtCh0L7RgNGC0LjRgNC+0LLQutCwINC60L7QvdGE0LXRgiDQv9C+INGB0L7QtNC10YDQttCw0L3QuNGOINGB0LDRhdCw0YDQsDoiKTsKICAgICAgICBnaWZ0LnNvcnRTd2VldCgpOwogICAgICAgIGdpZnQuc2hvd0dpZnQoKTsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJcbtCa0L7QvdGE0LXRgtCwINGBINGB0L7QtNC10YDQttCw0L3QuNC10Lwg0YHQsNGF0LDRgNCwINC+0YIgNDXQsyDQtNC+IDU10LM6Iik7CiAgICAgICAgU3dlZXQgUmFuZ2UgPSBnaWZ0LmZpbmRTd2VldCg0NSwgNTUpOwogICAgICAgIGlmIChSYW5nZSAhPSBudWxsKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0J3QsNC50LTQtdC90LA6ICIgKyBSYW5nZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLQmtC+0L3RhNC10YLQsCDRgSDRg9C60LDQt9Cw0L3QvdGL0Lwg0YHQvtC00LXRgNC20LDQvdC40LXQvCDRgdCw0YXQsNGA0LAg0L3QtSDQvdCw0LnQtNC10L3QsC4iKTsKICAgICAgICB9CiAgICB9Cn0KLy8yINC30LDQtNCw0YfQsAo=