Advertisement
Guest User

Main

a guest
Jul 3rd, 2016
632
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. package Problem01_Vehicles;
  2.  
  3. import Problem01_Vehicles.vehicles.Car;
  4. import Problem01_Vehicles.vehicles.Truck;
  5. import Problem01_Vehicles.vehicles.Vehicle;
  6.  
  7. import java.io.BufferedReader;
  8. import java.io.IOException;
  9. import java.io.InputStreamReader;
  10. import java.text.DecimalFormat;
  11. import java.text.NumberFormat;
  12.  
  13. /**
  14.  * Created by Bludya on 3.7.2016 г..
  15.  * All rights reserved!
  16.  */
  17. public class Main {
  18.     static Vehicle car;
  19.     static Vehicle truck;
  20.     public static void main(String[] args) throws IOException {
  21.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  22.  
  23.         for (int i = 0; i < 2; i++) {
  24.             String[] info = reader.readLine().split("\\s+");
  25.  
  26.             String vehicle = info [0];
  27.             double fuelQuantity = Double.parseDouble(info[1]);
  28.             double fuelConsumption = Double.parseDouble(info[2]);
  29.             switch(vehicle){
  30.                 case "Car":
  31.                     car = new Car(fuelQuantity, fuelConsumption);
  32.                     break;
  33.                 case "Truck":
  34.                     truck = new Truck(fuelQuantity, fuelConsumption);
  35.                     break;
  36.             }
  37.         }
  38.  
  39.         int n = Integer.parseInt(reader.readLine());
  40.  
  41.         for (int i = 0; i < n; i++) {
  42.             String[] info = reader.readLine().split("\\s+");
  43.  
  44.             String vehicle = info[1];
  45.             double amount = Double.parseDouble(info[2]);
  46.             NumberFormat format = DecimalFormat.getInstance();
  47.             format.setMinimumFractionDigits(0);
  48.  
  49.             switch (info[0]){
  50.                 case "Drive":
  51.                     boolean driven = tryDriveVehicle(vehicle, amount);
  52.                     String message = driven ?
  53.                             vehicle + " travelled " + format.format(amount) + " km" :
  54.                             vehicle + " needs refueling";
  55.                     System.out.println(message);
  56.                     break;
  57.                 case "Refuel":
  58.                     tryRefuelVehicle(vehicle, amount);
  59.                     break;
  60.             }
  61.         }
  62.  
  63.         System.out.printf("Car: %.2f%n", car.getFuelQuantity());
  64.         System.out.printf("Truck: %.2f%n", truck.getFuelQuantity());
  65.     }
  66.  
  67.     private static void tryRefuelVehicle(String vehicle, double amount) {
  68.         switch(vehicle){
  69.             case "Car":
  70.                 car.refuel(amount);
  71.                 break;
  72.             case "Truck":
  73.                 truck.refuel(amount);
  74.                 break;
  75.         }
  76.     }
  77.  
  78.     private static boolean tryDriveVehicle(String vehicle, double amount) {
  79.         switch(vehicle){
  80.             case "Car":
  81.                 return car.drive(amount);
  82.             case "Truck":
  83.                 return truck.drive(amount);
  84.             default:
  85.                 return false;
  86.         }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement