Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package definingClassesHomework.P5_SpeedRacing;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.TreeMap;
- /**
- * Created by Johny Bravo on 06/21/16.
- */
- class Car {
- String carModel;
- double fuelAmount;
- double fuelCostFor1Km;
- int distanceTraveled = 0;
- public Car(String carModel, double fuelAmount, double fuelCostFor1Km) {
- this.carModel = carModel;
- this.fuelAmount = fuelAmount;
- this.fuelCostFor1Km = fuelCostFor1Km;
- }
- public boolean canCarMove(int kmToDrive){
- double fuelSpended = kmToDrive * fuelCostFor1Km;
- if (fuelAmount >= fuelSpended) {
- fuelAmount -= fuelSpended;
- distanceTraveled+= kmToDrive;
- return true;
- }
- return false;
- }
- }
- public class Main {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- int carsAmount = Integer.parseInt(reader.readLine());
- TreeMap<String,Car> cars = new TreeMap<>();
- for (int i = 0; i < carsAmount; i++) {
- String[] line = reader.readLine().split("\\s+");
- String carModel = line[0];
- double fuel = Double.parseDouble(line[1]);
- double fuelCostPerKm = Double.parseDouble(line[2]);
- cars.put(carModel, new Car(carModel, fuel, fuelCostPerKm));
- }
- while (true) {
- String line = reader.readLine();
- if (line.equals("End")) {
- break;
- }
- String[] lineArr = line.split("\\s+");
- String carModelToDrive = lineArr[1];
- int kmToDrive = Integer.parseInt(lineArr[2]);
- if (cars.get(carModelToDrive).canCarMove(kmToDrive) == false) {
- System.out.println("Insufficient fuel for the drive");
- }
- }
- for (Car car : cars.values()) {
- System.out.printf("%s %s %d%n",car.carModel,String.format("%.2f", car.fuelAmount),car.distanceTraveled);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement