Advertisement
Edzhevit

CarSales

Feb 8th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. package ObjectsAndClassesExercise.CarSalesman;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.LinkedList;
  7. import java.util.List;
  8.  
  9. public class Main {
  10.     public static class Car {
  11.         private String model;
  12.         private Engine engine;
  13.         private String weight;
  14.         private String color;
  15.  
  16.         public Car(String model, Engine engine, String weight, String color) {
  17.             this.model = model;
  18.             this.engine = engine;
  19.             this.weight = weight;
  20.             this.color = color;
  21.         }
  22.  
  23.         public String getModel() {
  24.             return model;
  25.         }
  26.  
  27.         public Engine getEngine() {
  28.             return engine;
  29.         }
  30.  
  31.         public String getWeight() {
  32.             return weight;
  33.         }
  34.  
  35.         public String getColor() {
  36.             return color;
  37.         }
  38.  
  39.         @Override
  40.         public String toString() {
  41.             Engine engine = this.getEngine();
  42.             return String.format("%s:%n%s%n  Weight: %s%n  Color: %s",
  43.                     model, engine.toString(), weight, color);
  44.         }
  45.     }
  46.  
  47.     public static class Engine {
  48.         private String model;
  49.         private int power;
  50.         private String displacement;
  51.         private String efficiency;
  52.  
  53.         public Engine(String model, int  power,String displacement, String efficiency) {
  54.             this.model = model;
  55.             this.power = power;
  56.             this.displacement = displacement;
  57.             this.efficiency = efficiency;
  58.         }
  59.  
  60.  
  61.         public String getModel() {
  62.             return model;
  63.         }
  64.  
  65.         public int getPower() {
  66.             return power;
  67.         }
  68.  
  69.         public String getDisplacement() {
  70.             return displacement;
  71.         }
  72.  
  73.         public String getEfficiency() {
  74.             return efficiency;
  75.         }
  76.  
  77.         @Override
  78.         public String toString() {
  79.             return String.format("  %s:%n    Power: %d%n    Displacement: %s%n    Efficiency: %s",
  80.                     model,power,displacement,efficiency);
  81.         }
  82.     }
  83.     public static void main(String[] args) throws IOException {
  84.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  85.  
  86.         int n = Integer.parseInt(reader.readLine());
  87.  
  88.         List<Car> carList = new LinkedList<>();
  89.         List<Engine> engineList = new LinkedList<>();
  90.  
  91.         while (n-- > 0){
  92.             String[] tokens = reader.readLine().split(" ");
  93.             String model = tokens[0];
  94.             int power = Integer.parseInt(tokens[1]);
  95.             String displacement = "n/a";
  96.             String efficency = "n/a";
  97.  
  98.             if (tokens.length == 4){
  99.                 displacement = tokens[2];
  100.                 efficency = tokens[3];
  101.             } else if (tokens.length == 3){
  102.                 try {
  103.                     int disp = Integer.parseInt(tokens[2]);
  104.                     displacement = tokens[2];
  105.                 } catch (Exception e){
  106.                     efficency = tokens[2];
  107.                 }
  108.             }
  109.             Engine engine = new Engine(model,power,displacement,efficency);
  110.             engineList.add(engine);
  111.  
  112.         }
  113.         int m = Integer.parseInt(reader.readLine());
  114.  
  115.         while (m-- > 0){
  116.             String[] tokens = reader.readLine().split(" ");
  117.             String model = tokens[0];
  118.             String engineName = tokens[1];
  119.             String weight = "n/a";
  120.             String color = "n/a";
  121.  
  122.  
  123.             if (tokens.length == 4){
  124.                 weight = tokens[2];
  125.                 color = tokens[3];
  126.             } else if (tokens.length == 3){
  127.                 try {
  128.                     int test = Integer.parseInt(tokens[2]);
  129.                     weight = tokens[2];
  130.                 } catch (Exception e){
  131.                     color = tokens[2];
  132.                 }
  133.             }
  134.             Engine currentEngine = engineList.stream().filter(x -> x.getModel().equals(engineName))
  135.                     .findFirst().get();
  136.             Car car = new Car(model,currentEngine,weight,color);
  137.             carList.add(car);
  138.  
  139.  
  140.         }
  141.  
  142.         for (Car car : carList){
  143.             System.out.println(car.toString());
  144.         }
  145.     }
  146.  
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement