import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Gear {
private double weight;
private double price;
public Gear
(String name,
double weight,
double price
) { this.name = name;
this.weight = weight;
this.price = price;
}
return name;
}
public double getWeight() {
return weight;
}
public double getPrice() {
return price;
}
}
class Motorcyclist {
private List<Gear> gearList;
public Motorcyclist() {
gearList = new ArrayList<>();
}
public void addGear(Gear gear) {
gearList.add(gear);
}
public List<Gear> getGearList() {
return gearList;
}
public double calculateTotalCost() {
double totalCost = 0;
for (Gear gear : gearList) {
totalCost += gear.getPrice();
}
return totalCost;
}
public void sortByWeight() {
Collections.
sort(gearList,
(gear1, gear2
) -> Double.
compare(gear1.
getWeight(), gear2.
getWeight())); }
public List<Gear> findGearByPriceRange(double minPrice, double maxPrice) {
List<Gear> result = new ArrayList<>();
for (Gear gear : gearList) {
if (gear.getPrice() >= minPrice && gear.getPrice() <= maxPrice) {
result.add(gear);
}
}
return result;
}
}
public class Main {
public static void main
(String[] args
) { Gear helmet = new Gear("Шлем", 1.5, 100);
Gear jacket = new Gear("Куртка", 2.0, 200);
Gear pants = new Gear("Штаны", 1.8, 150);
Gear gloves = new Gear("Перчатки", 0.5, 50);
Motorcyclist motorcyclist = new Motorcyclist();
motorcyclist.addGear(helmet);
motorcyclist.addGear(jacket);
motorcyclist.addGear(pants);
motorcyclist.addGear(gloves);
System.
out.
println("Общая стоимость экипировки: " + motorcyclist.
calculateTotalCost());
motorcyclist.sortByWeight();
System.
out.
println("Амуниция после сортировки по весу:"); for (Gear gear : motorcyclist.getGearList()) {
System.
out.
println(gear.
getName() + " - Вес: " + gear.
getWeight()); }
double minPrice = 50;
double maxPrice = 150;
List<Gear> gearInRange = motorcyclist.findGearByPriceRange(minPrice, maxPrice);
System.
out.
println("Амуниция в диапазоне цен от " + minPrice
+ " до " + maxPrice
+ ":"); for (Gear gear : gearInRange) {
System.
out.
println(gear.
getName() + " - Цена: " + gear.
getPrice()); }
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuQ29sbGVjdGlvbnM7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKCmNsYXNzIEdlYXIgewogICAgcHJpdmF0ZSBTdHJpbmcgbmFtZTsKICAgIHByaXZhdGUgZG91YmxlIHdlaWdodDsKICAgIHByaXZhdGUgZG91YmxlIHByaWNlOwoKICAgIHB1YmxpYyBHZWFyKFN0cmluZyBuYW1lLCBkb3VibGUgd2VpZ2h0LCBkb3VibGUgcHJpY2UpIHsKICAgICAgICB0aGlzLm5hbWUgPSBuYW1lOwogICAgICAgIHRoaXMud2VpZ2h0ID0gd2VpZ2h0OwogICAgICAgIHRoaXMucHJpY2UgPSBwcmljZTsKICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIGdldE5hbWUoKSB7CiAgICAgICAgcmV0dXJuIG5hbWU7CiAgICB9CgogICAgcHVibGljIGRvdWJsZSBnZXRXZWlnaHQoKSB7CiAgICAgICAgcmV0dXJuIHdlaWdodDsKICAgIH0KCiAgICBwdWJsaWMgZG91YmxlIGdldFByaWNlKCkgewogICAgICAgIHJldHVybiBwcmljZTsKICAgIH0KfQoKY2xhc3MgTW90b3JjeWNsaXN0IHsKICAgIHByaXZhdGUgTGlzdDxHZWFyPiBnZWFyTGlzdDsKCiAgICBwdWJsaWMgTW90b3JjeWNsaXN0KCkgewogICAgICAgIGdlYXJMaXN0ID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICB9CgogICAgcHVibGljIHZvaWQgYWRkR2VhcihHZWFyIGdlYXIpIHsKICAgICAgICBnZWFyTGlzdC5hZGQoZ2Vhcik7CiAgICB9CgogICAgcHVibGljIExpc3Q8R2Vhcj4gZ2V0R2Vhckxpc3QoKSB7CiAgICAgICAgcmV0dXJuIGdlYXJMaXN0OwogICAgfQoKICAgIHB1YmxpYyBkb3VibGUgY2FsY3VsYXRlVG90YWxDb3N0KCkgewogICAgICAgIGRvdWJsZSB0b3RhbENvc3QgPSAwOwogICAgICAgIGZvciAoR2VhciBnZWFyIDogZ2Vhckxpc3QpIHsKICAgICAgICAgICAgdG90YWxDb3N0ICs9IGdlYXIuZ2V0UHJpY2UoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRvdGFsQ29zdDsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBzb3J0QnlXZWlnaHQoKSB7CiAgICAgICAgQ29sbGVjdGlvbnMuc29ydChnZWFyTGlzdCwgKGdlYXIxLCBnZWFyMikgLT4gRG91YmxlLmNvbXBhcmUoZ2VhcjEuZ2V0V2VpZ2h0KCksIGdlYXIyLmdldFdlaWdodCgpKSk7CiAgICB9CgogICAgcHVibGljIExpc3Q8R2Vhcj4gZmluZEdlYXJCeVByaWNlUmFuZ2UoZG91YmxlIG1pblByaWNlLCBkb3VibGUgbWF4UHJpY2UpIHsKICAgICAgICBMaXN0PEdlYXI+IHJlc3VsdCA9IG5ldyBBcnJheUxpc3Q8PigpOwogICAgICAgIGZvciAoR2VhciBnZWFyIDogZ2Vhckxpc3QpIHsKICAgICAgICAgICAgaWYgKGdlYXIuZ2V0UHJpY2UoKSA+PSBtaW5QcmljZSAmJiBnZWFyLmdldFByaWNlKCkgPD0gbWF4UHJpY2UpIHsKICAgICAgICAgICAgICAgIHJlc3VsdC5hZGQoZ2Vhcik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH0KfQoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIEdlYXIgaGVsbWV0ID0gbmV3IEdlYXIoItCo0LvQtdC8IiwgMS41LCAxMDApOwogICAgICAgIEdlYXIgamFja2V0ID0gbmV3IEdlYXIoItCa0YPRgNGC0LrQsCIsIDIuMCwgMjAwKTsKICAgICAgICBHZWFyIHBhbnRzID0gbmV3IEdlYXIoItCo0YLQsNC90YsiLCAxLjgsIDE1MCk7CiAgICAgICAgR2VhciBnbG92ZXMgPSBuZXcgR2Vhcigi0J/QtdGA0YfQsNGC0LrQuCIsIDAuNSwgNTApOwogICAgICAKICAgICAgICBNb3RvcmN5Y2xpc3QgbW90b3JjeWNsaXN0ID0gbmV3IE1vdG9yY3ljbGlzdCgpOwoKICAgICAgICBtb3RvcmN5Y2xpc3QuYWRkR2VhcihoZWxtZXQpOwogICAgICAgIG1vdG9yY3ljbGlzdC5hZGRHZWFyKGphY2tldCk7CiAgICAgICAgbW90b3JjeWNsaXN0LmFkZEdlYXIocGFudHMpOwogICAgICAgIG1vdG9yY3ljbGlzdC5hZGRHZWFyKGdsb3Zlcyk7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi0J7QsdGJ0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0Y3QutC40L/QuNGA0L7QstC60Lg6ICIgKyBtb3RvcmN5Y2xpc3QuY2FsY3VsYXRlVG90YWxDb3N0KCkpOwogICAgICAgIAogICAgICAgIG1vdG9yY3ljbGlzdC5zb3J0QnlXZWlnaHQoKTsKICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCQ0LzRg9C90LjRhtC40Y8g0L/QvtGB0LvQtSDRgdC+0YDRgtC40YDQvtCy0LrQuCDQv9C+INCy0LXRgdGDOiIpOwogICAgICAgIGZvciAoR2VhciBnZWFyIDogbW90b3JjeWNsaXN0LmdldEdlYXJMaXN0KCkpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGdlYXIuZ2V0TmFtZSgpICsgIiAtINCS0LXRgTogIiArIGdlYXIuZ2V0V2VpZ2h0KCkpOwogICAgICAgIH0KICAgICAKICAgICAgICBkb3VibGUgbWluUHJpY2UgPSA1MDsKICAgICAgICBkb3VibGUgbWF4UHJpY2UgPSAxNTA7CiAgICAgICAgTGlzdDxHZWFyPiBnZWFySW5SYW5nZSA9IG1vdG9yY3ljbGlzdC5maW5kR2VhckJ5UHJpY2VSYW5nZShtaW5QcmljZSwgbWF4UHJpY2UpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oItCQ0LzRg9C90LjRhtC40Y8g0LIg0LTQuNCw0L/QsNC30L7QvdC1INGG0LXQvSDQvtGCICIgKyBtaW5QcmljZSArICIg0LTQviAiICsgbWF4UHJpY2UgKyAiOiIpOwogICAgICAgIGZvciAoR2VhciBnZWFyIDogZ2VhckluUmFuZ2UpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGdlYXIuZ2V0TmFtZSgpICsgIiAtINCm0LXQvdCwOiAiICsgZ2Vhci5nZXRQcmljZSgpKTsKICAgICAgICB9CiAgICB9Cn0=