Advertisement
LoraOrliGeo

CarSalesman_Main

Jun 13th, 2019
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.25 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Main {
  4.     public static void main(String[] args) {
  5.  
  6.         Scanner sc = new Scanner(System.in);
  7.  
  8.         int numberOfEngines = Integer.parseInt(sc.nextLine());
  9.  
  10.         Map<String, Engine> engines = new LinkedHashMap<>();
  11.  
  12.         for (int i = 0; i < numberOfEngines; i++) {
  13.             String[] tokens = sc.nextLine().split("\\s+");
  14.  
  15.             String model = tokens[0];
  16.             int power = Integer.parseInt(tokens[1]);
  17.  
  18.             if (tokens.length == 2) {
  19.                 Engine engine = new Engine(model, power);
  20.                 engines.putIfAbsent(model, engine);
  21.             } else {
  22.                 int displacement;
  23.                 String efficiency;
  24.  
  25.                 if (tokens.length == 3) {
  26.                     if (Character.isDigit(tokens[2].charAt(0))) {
  27.                         displacement = Integer.parseInt(tokens[2]);
  28.                         Engine engine = new Engine(model, power, displacement);
  29.                         engines.putIfAbsent(model, engine);
  30.                     } else {
  31.                         efficiency = tokens[2];
  32.                         Engine engine = new Engine(model, power, efficiency);
  33.                         engines.putIfAbsent(model, engine);
  34.                     }
  35.                 } else {
  36.                     displacement = Integer.parseInt(tokens[2]);
  37.                     efficiency = tokens[3];
  38.                     Engine engine = new Engine(model, power, displacement, efficiency);
  39.                     engines.putIfAbsent(model, engine);
  40.                 }
  41.             }
  42.         }
  43.  
  44.         int numberOfCars = Integer.parseInt(sc.nextLine());
  45.  
  46.         List<Car> cars = new ArrayList<>();
  47.  
  48.         for (int i = 0; i < numberOfCars; i++) {
  49.             String[] tokens = sc.nextLine().split("\\s+");
  50.  
  51.             String model = tokens[0];
  52.             String engine = tokens[1];
  53.  
  54.             if (tokens.length == 2) {
  55.                 Car car = new Car(model, engines.get(engine));
  56.                 cars.add(car);
  57.             } else {
  58.                 int weight;
  59.                 String color;
  60.  
  61.                 if (tokens.length == 3) {
  62.                     if (Character.isDigit(tokens[2].charAt(0))) {
  63.                         weight = Integer.parseInt(tokens[2]);
  64.                         Car car = new Car(model, engines.get(engine), weight);
  65.                         cars.add(car);
  66.                     } else {
  67.                         color = tokens[2];
  68.                         Car car = new Car(model, engines.get(engine), color);
  69.                         cars.add(car);
  70.                     }
  71.                 } else {
  72.                     weight = Integer.parseInt(tokens[2]);
  73.                     color = tokens[3];
  74.                     Car car = new Car(model, engines.get(engine), weight, color);
  75.                     cars.add(car);
  76.                 }
  77.             }
  78.         }
  79.  
  80.         cars.stream().forEach(car -> {
  81.             System.out.println(String.format("%s:", car.getModel()));
  82.  
  83.             String engineModel = car.getEngine().getModel();
  84.             System.out.println(String.format("%s:", engineModel));
  85.  
  86.             System.out.println(engines.get(engineModel).toString());
  87.             System.out.println(car.toString());
  88.         });
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement