diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 625884e..eafed87 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,7 +1,219 @@ package ru.skypro; +import ru.skypro.exceptions.WrongRightsException; +import ru.skypro.products.Recept; +import ru.skypro.products.Product; +import ru.skypro.transport.*; + +import java.util.*; + +import static ru.skypro.Utils.addToSet; +import static ru.skypro.Utils.remFromSet; + public class Main { public static void main(String[] args){ + Set cars = new HashSet<>(); + Set sponsors = new HashSet<>(); + Set drivers = new HashSet<>(); + var car1 = new Car("ad1","asd",2.2,CarBody.CROSSOVER); + var car2 = new Car("as2","a6sd",2.2,CarBody.CROSSOVER); + var car3 = new Bus("as3","a7sd",2.2, BusType.SMALL); + var car4 = new Truck("ag4","8asd",2.2,TruckBody.N2); + + addToSet(cars,car1); + addToSet(cars,car2); + addToSet(cars,car3); + addToSet(cars,car4); + + var sponsor1 = new Sponsor("asdf1", 1234); + var sponsor2 = new Sponsor("asdf2", 12345); + var sponsor3 = new Sponsor("asdf3", 123465); + var sponsor4 = new Sponsor("asdf4", 1234567); + + addToSet(sponsors,sponsor1); + addToSet(sponsors,sponsor2); + addToSet(sponsors,sponsor3); + addToSet(sponsors,sponsor4); + + Driver driver1 = null; + Driver driver2 = null; + Driver driver3 = null; + Driver driver4 = null; + + try { + driver1 = new DriverB("asd1", true, 2, car1); + driver2 = new DriverB("asd2", true, 2, car2); + driver3 = new DriverD("asd3", true, 2, car3); + driver4 = new DriverC("asd4", true, 2, car4); + + addToSet(drivers,driver1); + addToSet(drivers,driver2); + addToSet(drivers,driver3); + addToSet(drivers,driver4); + } + catch (WrongRightsException e){ + System.out.println(e); + } + Set setMechanic = new HashSet<>(); + Mechanic mech1 = new Mechanic("a","b","asd",List.of("Car")); + Mechanic mech2 = new Mechanic("c","d","dsa",List.of("Bus","Truck")); + + addToSet(setMechanic,mech1); + addToSet(setMechanic,mech2); + + car1.addMechanic(mech1); + car2.addMechanic(mech1); + car3.addMechanic(mech1); + car3.addMechanic(mech2); + car4.addMechanic(mech2); + car1.addDrivers(driver1); + car2.addDrivers(driver2); + car3.addDrivers(driver3); + car4.addDrivers(driver4); + car1.addSponsor(sponsor1); + car2.addSponsor(sponsor2); + car3.addSponsor(sponsor1); + car4.addSponsor(sponsor2); + car1.addSponsor(sponsor3); + car2.addSponsor(sponsor4); +// var texhStantion = new TechStantion<>(); +// for (Transport car: cars) { +// System.out.println( +// "Для машины: " +car.toString()+"\n"+ +// "Водитель: " + car.getDriver().toString()+"\n"+ +// "Спонсоры: " + car.getSponsorsList().toString()+"\n"+ +// "Механики: " + car.getMechanicList().toString() +// ); +// texhStantion.addToQueue(car); +// } +// texhStantion.doTechOsmotr(); +// texhStantion.doTechOsmotr(); +// texhStantion.doTechOsmotr(); +// texhStantion.doTechOsmotr(); +// texhStantion.doTechOsmotr(); + + Set setOfProducts = new HashSet<>(); + Product banana = new Product("Банан", 120,10); + Product orange = new Product("Апельсин", 240,10); + try { + Product test = new Product("Тест", 240,null); + } catch (RuntimeException e){ + System.out.println(e); + } + try { + addToSet(setOfProducts,banana); + addToSet(setOfProducts,orange); + addToSet(setOfProducts,banana); + } catch (RuntimeException e){ + System.out.println(e); + } + try { + remFromSet(setOfProducts,banana); + remFromSet(setOfProducts,banana); + } catch (RuntimeException e){ + System.out.println(e); + } + System.out.println(List.of(setOfProducts.toArray())); + addToSet(setOfProducts,banana); + Set SpisokReceptov = new HashSet<>(); + Recept recept1 = new Recept(setOfProducts,"Рецепт 1"); + Recept recept2 = new Recept(setOfProducts,"Рецепт 2"); + try { + addToSet(SpisokReceptov, recept1); + addToSet(SpisokReceptov, recept2); + addToSet(SpisokReceptov, recept1); + } catch (RuntimeException e){ + System.out.println(e); + } + System.out.println(List.of(SpisokReceptov.toArray())); + Set manyIntVals = new HashSet<>(); + for (int i=0;i<20;i++){ + manyIntVals.add((int) Math.round(Math.random()*1000)); + } + System.out.println(List.of(manyIntVals.toArray())); + manyIntVals.removeIf(i -> i % 2 == 1); + System.out.println(List.of(manyIntVals.toArray())); + + for (var element:sponsors) { + System.out.println(element); + } + for (var element:cars) { + System.out.println(element); + } + for (var element:drivers) { + System.out.println(element); + } + for (var element:setMechanic) { + System.out.println(element); + } + //part 2 + Set uniqueQuestion = new HashSet<>(); + do { + Random r = new Random(); + int int1 = r.nextInt(7)+2; + int int2 = r.nextInt(7)+2; + if (!uniqueQuestion.contains(int2 + "*" + int1)) { + uniqueQuestion.add(int1 + "*" + int2); + } + + } while (uniqueQuestion.size()<=14);//numRows - 1 + for (var element:uniqueQuestion) { + System.out.println(element); + } + //part 3 + + Passport passport1 = new Passport("1234","1234","1234","1234","12.12.12"); + Passport passport2 = new Passport("4321","4321","4321","4321","01.12.12"); + HashMap passportHashMap = new HashMap<>(); + passportHashMap.put(passport1.getNumPassport(),passport1); + passportHashMap.put(passport2.getNumPassport(),passport2); + passportHashMap.put(passport1.getNumPassport(),passport1); + Passport passport3 = new Passport("1234","1234","4321","1234","12.01.12"); + savePassport(passportHashMap,passport3); + System.out.println(getPassport(passportHashMap,"1234")); + + } + + public static void savePassport(Map refMap, Passport passport){ + if (refMap.containsKey(passport.getNumPassport())){ + refMap.remove(passport.getNumPassport()); + refMap.put(passport.getNumPassport(), passport); + } else + refMap.put(passport.getNumPassport(), passport); + } + + public static Passport getPassport(Map refMap, String key){ + return refMap.getOrDefault(key, null); + } + + + private static void addInSomeQueue(List> q1, String val){ + Queue minindex; + int coun = 99; + boolean addded = false; + minindex=q1.get(0); + for (var qqq: q1 + ) { + System.out.println(qqq.size()); + if (qqq.size()==5) { continue;} + if (coun >= qqq.size()) { + coun = qqq.size(); + minindex = qqq; + addded = true; + } + } + if (!addded){ + System.out.println("полное заполнение всех очередей"); + q1.add(new ArrayDeque<>(5)); + minindex = q1.get(q1.size()-1); + } + minindex.offer(val); +// System.out.println(q1.get(0).size()); +// System.out.println(q1.get(1).size()); + } + private static void removeFromSomeQueue(List> q1){ + int num = (int) Math.round(Math.random()* (q1.size()-1)); + q1.get(num).poll(); } } diff --git a/src/ru/skypro/Mechanic.java b/src/ru/skypro/Mechanic.java new file mode 100644 index 0000000..97a92a3 --- /dev/null +++ b/src/ru/skypro/Mechanic.java @@ -0,0 +1,50 @@ +package ru.skypro; + +import java.util.List; + +public class Mechanic { + private final String firstName; + private final String lastName; + private final String companyName; + private final List listCarTypes; + + public Mechanic(String firstName, String lastName, String companyName, List listCarTypes) { + this.firstName = firstName; + this.lastName = lastName; + this.companyName = companyName; + this.listCarTypes = listCarTypes; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public String getCompanyName() { + return companyName; + } + + public List getListCarTypes() { + return listCarTypes; + } + + private void carryOutMaintenance(){ + + } + private void repairCar(){ + + } + + @Override + public String toString() { + return "Mechanic{" + + "firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", companyName='" + companyName + '\'' + + ", listCarTypes=" + listCarTypes + + '}'; + } +} diff --git a/src/ru/skypro/Passport.java b/src/ru/skypro/Passport.java new file mode 100644 index 0000000..b726805 --- /dev/null +++ b/src/ru/skypro/Passport.java @@ -0,0 +1,46 @@ +package ru.skypro; + +import java.util.Objects; + +public class Passport { + private final String numPassport; + private final String lastName; + private final String firstName; + private final String secondName; + private final String birthDate; + + public Passport(String numPassport, String lastName, String firstName, String secondName, String birthDate) { + this.numPassport = numPassport; + this.lastName = lastName; + this.firstName = firstName; + this.secondName = secondName; + this.birthDate = birthDate; + } + + public String getNumPassport() { + return numPassport; + } + + @Override + public String toString() { + return "Passport{" + + "НомерПаспорта='" + numPassport + '\'' + + ", Фамилия='" + lastName + '\'' + + ", Имя='" + firstName + '\'' + + ", Отчество='" + secondName + '\'' + + ", ДатаРождения='" + birthDate + '\'' + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Passport passport)) return false; + return Objects.equals(numPassport, passport.numPassport); + } + + @Override + public int hashCode() { + return Objects.hash(numPassport); + } +} diff --git a/src/ru/skypro/Sponsor.java b/src/ru/skypro/Sponsor.java new file mode 100644 index 0000000..c307af4 --- /dev/null +++ b/src/ru/skypro/Sponsor.java @@ -0,0 +1,25 @@ +package ru.skypro; + +public class Sponsor { + private final String name; + private final Integer sumSupport; + + public Sponsor(String name, Integer sumSupport) { + this.name = name; + this.sumSupport = sumSupport; + } + + public String getName() { + return name; + } + + private void sponsirovatZaezd(){} + + @Override + public String toString() { + return "Sponsor{" + + "name='" + name + '\'' + + ", sumSupport=" + sumSupport + + '}'; + } +} diff --git a/src/ru/skypro/Utils.java b/src/ru/skypro/Utils.java new file mode 100644 index 0000000..d66c7df --- /dev/null +++ b/src/ru/skypro/Utils.java @@ -0,0 +1,18 @@ +package ru.skypro; + +import java.util.Set; + +public final class Utils { + + static void addToSet(Set set, T val){ + if (!set.add(val)){ + throw new RuntimeException("необходимо выбросить исключение"); + } + } + + static void remFromSet(Set set, T val){ + if(!set.remove(val)){ + throw new RuntimeException("Ошибка удаления товара"); + } + } +} diff --git a/src/ru/skypro/exceptions/DiagnosticFailException.java b/src/ru/skypro/exceptions/DiagnosticFailException.java new file mode 100644 index 0000000..2d8bfea --- /dev/null +++ b/src/ru/skypro/exceptions/DiagnosticFailException.java @@ -0,0 +1,7 @@ +package ru.skypro.exceptions; + +public class DiagnosticFailException extends Exception{ + public DiagnosticFailException() { + super("программа должна выбросить ошибку."); + } +} diff --git a/src/ru/skypro/exceptions/WrongRightsException.java b/src/ru/skypro/exceptions/WrongRightsException.java new file mode 100644 index 0000000..abf3da0 --- /dev/null +++ b/src/ru/skypro/exceptions/WrongRightsException.java @@ -0,0 +1,8 @@ +package ru.skypro.exceptions; + +public class WrongRightsException extends Exception{ + + public WrongRightsException() { + super("Необходимо указать тип прав!"); + } +} diff --git a/src/ru/skypro/products/Product.java b/src/ru/skypro/products/Product.java new file mode 100644 index 0000000..6b179a6 --- /dev/null +++ b/src/ru/skypro/products/Product.java @@ -0,0 +1,52 @@ +package ru.skypro.products; + +import java.util.Objects; + +public class Product { + + private final String name; + private final Integer cost; + private final Integer weight; + + public Product(String name, Integer cost, Integer weight) { + if (name == null|| cost == null || weight == null){ + throw new RuntimeException("Заполните карточку товара полностью"); + } + this.name = name; + this.cost = cost; + this.weight = weight; + } + + @Override + public String toString() { + return "Товар{" + + "Название='" + name + '\'' + + ", Цена=" + cost + + ", ВесВКг=" + weight + + '}'; + } + + public String getName() { + return name; + } + + public Integer getCost() { + return cost; + } + + public Integer getWeight() { + return weight; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Product product)) return false; + return Objects.equals(name, product.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } +} diff --git a/src/ru/skypro/products/Recept.java b/src/ru/skypro/products/Recept.java new file mode 100644 index 0000000..848e031 --- /dev/null +++ b/src/ru/skypro/products/Recept.java @@ -0,0 +1,53 @@ +package ru.skypro.products; + +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; + +public class Recept { + + Set setProducts = new HashSet<>(); + private final String name; + public Integer sumCostProducts(){ + int i=0; + for (Product product : setProducts) { + i+= product.getCost(); + } + return i; + } + + public Recept(Set setProducts, String name) { + this.setProducts = setProducts; + this.name = name; + } + + @Override + public String toString() { + return "Рецепт{" + + "МножествоПродуктов=" + setProducts + + ", Название='" + name + '\'' + + ", СуммарнаяСтоимостьПродуктов='" + sumCostProducts() + '\'' + + '}'; + } + + public void addToSet(Product val){ + if (val != null) { + setProducts.add(val); + } else throw new RuntimeException("Product cannot be null"); + } + public void remFromSet(Product val){ + setProducts.remove(val); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Recept recept)) return false; + return Objects.equals(setProducts, recept.setProducts) && Objects.equals(name, recept.name); + } + + @Override + public int hashCode() { + return Objects.hash(setProducts, name); + } +} diff --git a/src/ru/skypro/transport/Bus.java b/src/ru/skypro/transport/Bus.java new file mode 100644 index 0000000..27c6ea0 --- /dev/null +++ b/src/ru/skypro/transport/Bus.java @@ -0,0 +1,32 @@ +package ru.skypro.transport; + +public class Bus extends Transport implements Competitive { + + public Bus(String brand, String model, Double engineVolume, BusType type) { + super(brand, model, engineVolume, type); + } + + @Override + public void startMoving() { + super.startMoving(); + } + + @Override + public void stopMoving() { + super.stopMoving(); + } + @Override + public void pitStop() { + System.out.println("false"); + } + + @Override + public void maxSpeed() { + System.out.println("200"); + } + + @Override + public void bestTime() { + System.out.println("9.00"); + } +} diff --git a/src/ru/skypro/transport/BusType.java b/src/ru/skypro/transport/BusType.java new file mode 100644 index 0000000..29bb592 --- /dev/null +++ b/src/ru/skypro/transport/BusType.java @@ -0,0 +1,11 @@ +package ru.skypro.transport; + +public enum BusType { + + VERY_SMALL, + SMALL, + NORMAL, + BIG, + VERY_BIG + + } diff --git a/src/ru/skypro/transport/Car.java b/src/ru/skypro/transport/Car.java new file mode 100644 index 0000000..b7f3510 --- /dev/null +++ b/src/ru/skypro/transport/Car.java @@ -0,0 +1,39 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.DiagnosticFailException; + +public class Car extends Transport implements Competitive{ + public Car(String brand, String model, Double engineVolume, CarBody type) { + super(brand, model, engineVolume, type); + } + + @Override + public void startMoving() { + super.startMoving(); + } + + @Override + public void stopMoving() { + super.stopMoving(); + } + + @Override + public void pitStop() { + System.out.println("false"); + } + + @Override + public void maxSpeed() { + System.out.println("160"); + } + + @Override + public void bestTime() { + System.out.println("10.00"); + } + + @Override + public Boolean diagnostic() { + return this.getEngineVolume() >= 2; + } +} diff --git a/src/ru/skypro/transport/CarBody.java b/src/ru/skypro/transport/CarBody.java new file mode 100644 index 0000000..eb81553 --- /dev/null +++ b/src/ru/skypro/transport/CarBody.java @@ -0,0 +1,13 @@ +package ru.skypro.transport; + +public enum CarBody { + SEDAN, + HATCHBACK, + COMPARTMENT, + STATION_WAGON, + OFF_ROAD_VEHICLE, + CROSSOVER, + PICKUP_TRUCK, + VAN, + MINIVAN +} diff --git a/src/ru/skypro/transport/Competitive.java b/src/ru/skypro/transport/Competitive.java new file mode 100644 index 0000000..6fe64c3 --- /dev/null +++ b/src/ru/skypro/transport/Competitive.java @@ -0,0 +1,7 @@ +package ru.skypro.transport; + +public interface Competitive { + void pitStop(); + void maxSpeed(); + void bestTime(); +} diff --git a/src/ru/skypro/transport/Driver.java b/src/ru/skypro/transport/Driver.java new file mode 100644 index 0000000..443d8d9 --- /dev/null +++ b/src/ru/skypro/transport/Driver.java @@ -0,0 +1,43 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.WrongRightsException; + +public abstract class Driver{ + private String fullName; + private Boolean haveRights; + private Integer experience; + + private final T transport; + + public Driver(String fullName, Boolean haveRights, Integer experience, T transport) throws WrongRightsException { + this.fullName = fullName; + this.haveRights = haveRights; + this.experience = experience; + if (transport == null) { + throw new WrongRightsException(); + } else { + this.transport = transport; + }; + } + + public void startMoving(){ + transport.startMoving(); + } + public void stopMoving(){ + transport.stopMoving(); + + } + public void refill(){ + System.out.println("водитель "+ fullName +" управляет автомобилем "+transport.getBrand()+" "+transport.getModel()+" и будет участвовать в заезде"); + } + + @Override + public String toString() { + return "Driver{" + + "transport=" + transport + + ", fio='" + fullName + '\'' + + ", haveRights=" + haveRights + + ", experience=" + experience + + '}'; + } +} diff --git a/src/ru/skypro/transport/DriverB.java b/src/ru/skypro/transport/DriverB.java new file mode 100644 index 0000000..7fad394 --- /dev/null +++ b/src/ru/skypro/transport/DriverB.java @@ -0,0 +1,9 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.WrongRightsException; + +public class DriverB extends Driver{ + public DriverB(String fio, Boolean haveRights, Integer experience, Car transport) throws WrongRightsException { + super(fio, haveRights, experience, transport); + } +} diff --git a/src/ru/skypro/transport/DriverC.java b/src/ru/skypro/transport/DriverC.java new file mode 100644 index 0000000..e2067a9 --- /dev/null +++ b/src/ru/skypro/transport/DriverC.java @@ -0,0 +1,9 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.WrongRightsException; + +public class DriverC extends Driver{ + public DriverC(String fio, Boolean haveRights, Integer experience, Truck transport) throws WrongRightsException { + super(fio, haveRights, experience, transport); + } +} diff --git a/src/ru/skypro/transport/DriverD.java b/src/ru/skypro/transport/DriverD.java new file mode 100644 index 0000000..e44e88b --- /dev/null +++ b/src/ru/skypro/transport/DriverD.java @@ -0,0 +1,9 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.WrongRightsException; + +public class DriverD extends Driver{ + public DriverD(String fio, Boolean haveRights, Integer experience, Bus transport) throws WrongRightsException { + super(fio, haveRights, experience, transport); + } +} diff --git a/src/ru/skypro/transport/TechStantion.java b/src/ru/skypro/transport/TechStantion.java new file mode 100644 index 0000000..30e2b11 --- /dev/null +++ b/src/ru/skypro/transport/TechStantion.java @@ -0,0 +1,20 @@ +package ru.skypro.transport; + +import java.util.LinkedList; +import java.util.Queue; + +public class TechStantion { + private Queue queue = new LinkedList<>(); + + public void addToQueue(T car){ + queue.offer(car); + } + + public void doTechOsmotr(){ + Transport car = queue.poll(); + if (car != null) + System.out.println("Проведен техосмотр: "+ car.toString()); + else + System.out.println("В очереди нет машин"); + } +} diff --git a/src/ru/skypro/transport/Transport.java b/src/ru/skypro/transport/Transport.java new file mode 100644 index 0000000..80ec88d --- /dev/null +++ b/src/ru/skypro/transport/Transport.java @@ -0,0 +1,104 @@ +package ru.skypro.transport; + +import ru.skypro.Mechanic; +import ru.skypro.Sponsor; +import ru.skypro.exceptions.DiagnosticFailException; + +import java.util.ArrayList; +import java.util.List; + +public abstract class Transport { + private String brand; + private String model; + private Double engineVolume; + + private final Enum type; + + private List mechanicList = new ArrayList<>(); + + private List> drivers = new ArrayList<>(); + + private List sponsorsList = new ArrayList<>(); + + public Transport(String brand, String model, Double engineVolume, Enum type) { + this.brand = brand == null || brand.equals("") ? "default" : brand; + this.model = model == null || model.equals("") ? "default" : model; + this.engineVolume = (engineVolume == null || engineVolume<0) ? 1.6 : engineVolume; + this.type = type; + } + + public List> getDrivers() { + return drivers; + } + + public void addDrivers(Driver driver) { + this.drivers.add(driver); + } + + public List getMechanicList() { + return mechanicList; + } + + public List getSponsorsList() { + return sponsorsList; + } + + public void addMechanic(Mechanic mechanic) { + if (mechanic.getListCarTypes().contains(this.getClass().getSimpleName())) { + this.mechanicList.add(mechanic); + } else System.out.println("Механик "+mechanic.getFirstName()+" "+mechanic.getLastName()+" не имеет нужной категории, для автомобиля "+this.brand+" "+this.model); + } + + public void addSponsor(Sponsor sponsors) { + this.sponsorsList.add(sponsors); + } + + public void startMoving(){ + System.out.println(this.getClass() +" "+ this.brand +" "+ this.model + "Начал движение"); + } + public void stopMoving(){ + System.out.println(this.getClass() +" "+ this.brand +" "+ this.model + "Закончил движение"); + } + + @Override + public String toString() { + return "Transport{" + + "brand='" + brand + '\'' + + ", model='" + model + '\'' + + ", engineVolume=" + engineVolume + + '}'; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public void setModel(String model) { + this.model = model; + } + + public Double getEngineVolume() { + return engineVolume; + } + + public void setEngineVolume(Double engineVolume) { + this.engineVolume = engineVolume; + } + + public Boolean diagnostic() { + System.out.println("Автобус … … … в диагностике не требуется"); + return true; + } + + public String getType() { + return type == null ? "Данных недостаточно": type.name(); + } +} diff --git a/src/ru/skypro/transport/Truck.java b/src/ru/skypro/transport/Truck.java new file mode 100644 index 0000000..ebbc46c --- /dev/null +++ b/src/ru/skypro/transport/Truck.java @@ -0,0 +1,40 @@ +package ru.skypro.transport; + +import ru.skypro.exceptions.DiagnosticFailException; + +public class Truck extends Transport implements Competitive{ + + public Truck(String brand, String model, Double engineVolume, TruckBody type) { + super(brand, model, engineVolume, type); + } + + @Override + public void startMoving() { + System.out.println(super.getBrand() +" "+ super.getModel() + " Начал движение"); + } + + @Override + public void stopMoving() { + System.out.println(super.getBrand() +" "+ super.getModel() + " Закончил движение"); + } + + @Override + public void pitStop() { + System.out.println("true"); + } + + @Override + public void maxSpeed() { + System.out.println("330"); + } + + @Override + public void bestTime() { + System.out.println("6.00"); + } + + @Override + public Boolean diagnostic() { + return this.getEngineVolume() >= 2; + } +} diff --git a/src/ru/skypro/transport/TruckBody.java b/src/ru/skypro/transport/TruckBody.java new file mode 100644 index 0000000..e1d2abc --- /dev/null +++ b/src/ru/skypro/transport/TruckBody.java @@ -0,0 +1,5 @@ +package ru.skypro.transport; + +public enum TruckBody { + N1,N2,N3 +}