import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class PassengerWagon {
private int capacity; // Вместимость вагона
private String type
; // Тип вагона
public PassengerWagon
(int capacity,
String type
) { this.capacity = capacity;
this.type = type;
}
public int getCapacity() {
return capacity;
}
return type;
}
}
class Train {
private ArrayList<PassengerWagon> wagons;
public Train() {
wagons = new ArrayList<>();
}
public void addWagon(PassengerWagon wagon) {
wagons.add(wagon);
}
public int getTotalPassengers() {
int totalPassengers = 0;
for (PassengerWagon wagon : wagons) {
totalPassengers += wagon.getCapacity();
}
return totalPassengers;
}
public ArrayList<PassengerWagon> sortByComfortLevel() {
ArrayList<PassengerWagon> sortedWagons = new ArrayList<>(wagons);
return sortedWagons;
}
public ArrayList<PassengerWagon> findWagonsByCapacity(int minCapacity, int maxCapacity) {
ArrayList<PassengerWagon> selectedWagons = new ArrayList<>();
for (PassengerWagon wagon : wagons) {
if (wagon.getCapacity() >= minCapacity && wagon.getCapacity() <= maxCapacity) {
selectedWagons.add(wagon);
}
}
return selectedWagons;
}
}
public class Main {
public static void main
(String[] args
) { Train train = new Train();
// Добавление вагона в поезд
train.addWagon(new PassengerWagon(36, "Купейный"));
train.addWagon(new PassengerWagon(80, "Сидячий"));
train.addWagon(new PassengerWagon(24, "Ресторанно-барный"));
System.
out.
println("Общее число пассажиров в поезде: " + train.
getTotalPassengers());
// Сортировка вагонов по уровню комфортности
ArrayList<PassengerWagon> sortedWagons = train.sortByComfortLevel();
System.
out.
println("\nВагоны поезда, отсортированные по уровню комфортности:"); for (PassengerWagon wagon : sortedWagons) {
System.
out.
println(wagon.
getType() + " вагон: " + wagon.
getCapacity() + " мест"); }
// Нужно нати вагоны с заданным диапазоном числа пассажиров
int minCapacity = 30;
int maxCapacity = 50;
ArrayList<PassengerWagon> selectedWagons = train.findWagonsByCapacity(minCapacity, maxCapacity);
System.
out.
println("\nВагоны поезда с числом пассажиров от " + minCapacity
+ " до " + maxCapacity
+ ":"); for (PassengerWagon wagon : selectedWagons) {
System.
out.
println(wagon.
getType() + " вагон: " + wagon.
getCapacity() + " мест"); }
}
}