fork(1) download
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4.  
  5. class Gear {
  6. private String name;
  7. private double weight;
  8. private double price;
  9.  
  10. public Gear(String name, double weight, double price) {
  11. this.name = name;
  12. this.weight = weight;
  13. this.price = price;
  14. }
  15.  
  16. public String getName() {
  17. return name;
  18. }
  19.  
  20. public double getWeight() {
  21. return weight;
  22. }
  23.  
  24. public double getPrice() {
  25. return price;
  26. }
  27. }
  28.  
  29. class Motorcyclist {
  30. private List<Gear> gearList;
  31.  
  32. public Motorcyclist() {
  33. gearList = new ArrayList<>();
  34. }
  35.  
  36. public void addGear(Gear gear) {
  37. gearList.add(gear);
  38. }
  39.  
  40. public List<Gear> getGearList() {
  41. return gearList;
  42. }
  43.  
  44. public double calculateTotalCost() {
  45. double totalCost = 0;
  46. for (Gear gear : gearList) {
  47. totalCost += gear.getPrice();
  48. }
  49. return totalCost;
  50. }
  51.  
  52. public void sortByWeight() {
  53. Collections.sort(gearList, (gear1, gear2) -> Double.compare(gear1.getWeight(), gear2.getWeight()));
  54. }
  55.  
  56. public List<Gear> findGearByPriceRange(double minPrice, double maxPrice) {
  57. List<Gear> result = new ArrayList<>();
  58. for (Gear gear : gearList) {
  59. if (gear.getPrice() >= minPrice && gear.getPrice() <= maxPrice) {
  60. result.add(gear);
  61. }
  62. }
  63. return result;
  64. }
  65. }
  66.  
  67. public class Main {
  68. public static void main(String[] args) {
  69. Gear helmet = new Gear("Шлем", 1.5, 100);
  70. Gear jacket = new Gear("Куртка", 2.0, 200);
  71. Gear pants = new Gear("Штаны", 1.8, 150);
  72. Gear gloves = new Gear("Перчатки", 0.5, 50);
  73.  
  74. Motorcyclist motorcyclist = new Motorcyclist();
  75.  
  76. motorcyclist.addGear(helmet);
  77. motorcyclist.addGear(jacket);
  78. motorcyclist.addGear(pants);
  79. motorcyclist.addGear(gloves);
  80.  
  81. System.out.println("Общая стоимость экипировки: " + motorcyclist.calculateTotalCost());
  82.  
  83. motorcyclist.sortByWeight();
  84.  
  85. System.out.println("Амуниция после сортировки по весу:");
  86. for (Gear gear : motorcyclist.getGearList()) {
  87. System.out.println(gear.getName() + " - Вес: " + gear.getWeight());
  88. }
  89.  
  90. double minPrice = 50;
  91. double maxPrice = 150;
  92. List<Gear> gearInRange = motorcyclist.findGearByPriceRange(minPrice, maxPrice);
  93.  
  94. System.out.println("Амуниция в диапазоне цен от " + minPrice + " до " + maxPrice + ":");
  95. for (Gear gear : gearInRange) {
  96. System.out.println(gear.getName() + " - Цена: " + gear.getPrice());
  97. }
  98. }
  99. }
Success #stdin #stdout 0.22s 60636KB
stdin
Standard input is empty
stdout
Общая стоимость экипировки: 500.0
Амуниция после сортировки по весу:
Перчатки - Вес: 0.5
Шлем - Вес: 1.5
Штаны - Вес: 1.8
Куртка - Вес: 2.0
Амуниция в диапазоне цен от 50.0 до 150.0:
Перчатки - Цена: 50.0
Шлем - Цена: 100.0
Штаны - Цена: 150.0