Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.Array;
- import java.util.*;
- public class test {
- public static void main(String[] args) {
- Scanner scan= new Scanner(System.in);
- int n = Integer.parseInt(scan.nextLine());
- Map<String, int[]> map= new LinkedHashMap<>();
- while(n>0){
- String[] carData = scan.nextLine().split("\\|");
- String car = carData[0];
- int[] data = {Integer.parseInt(carData[1]),Integer.parseInt(carData[2])};
- map.put(car, data);
- n--;
- }
- boolean flag = false;
- while(true){
- String[] commands = scan.nextLine().split(" : ");
- if(commands[0].equals("Stop")){
- flag = true;
- break;
- }
- String command = commands[0]; String car = commands[1];
- switch(command){
- case "Drive":
- int distance1 = Integer.parseInt(commands[2]); int fuel1 = Integer.parseInt(commands[3]);
- if(fuel1> map.get(car)[1]){
- System.out.println("Not enough fuel to make that ride");
- break;
- }
- else{
- int currentMilage = map.get(car)[0]; int currentFuel = map.get(car)[1];
- int newMilage = currentMilage + distance1; int newFuel = currentFuel - fuel1;
- map.put(car, new int[]{newMilage,newFuel});
- }
- if(map.get(car)[0] > 100000){
- System.out.println(car + " driven for " + distance1 + " kilometers. " + fuel1 + " liters of fuel consumed." );
- System.out.println("Time to sell the " + car + "!");
- map.remove(car);
- }
- else{
- System.out.println(car + " driven for " + distance1 + " kilometers. " + fuel1 + " liters of fuel consumed." );
- }
- break;
- case "Refuel":
- int fuel2 = Integer.parseInt(commands[2]);
- int currentFuel = map.get(car)[1];
- int fueledLiteres = 0;
- int currentMilage1 = map.get(car)[0];
- if(currentFuel + fuel2 > 75){
- fueledLiteres = 75 - currentFuel;
- map.replace(car, new int[]{currentMilage1 , 75});
- }
- else{
- fueledLiteres = fuel2;
- map.replace(car, new int[]{currentMilage1 , currentFuel + fuel2});
- }
- System.out.println(car + " refueled with " + fueledLiteres + " liters" );
- break;
- case "Revert":
- int distance2 = Integer.parseInt(commands[2]);
- int fuel3 = map.get(car)[1];
- int currentMilage = map.get(car)[0];
- if(currentMilage - distance2 < 10000 ){
- map.replace(car, new int[]{10000, fuel3 });
- }
- else{
- map.replace(car, new int[]{currentMilage-distance2, fuel3 });
- System.out.println(car + " mileage decreased by " + distance2 + " kilometers" );
- }
- break;
- }
- }
- if(flag) {
- for (Map.Entry<String, int[]> entry : map.entrySet()) {
- String car = entry.getKey();
- int milage = entry.getValue()[0];
- int fuel = entry.getValue()[1];
- System.out.println(car + " -> Mileage: " + milage + " kms, Fuel in the tank: " + fuel + " lt.");
- }
- }
- }
- }
- /*
- 3
- Audi A6|38000|62
- Mercedes CLS|11000|35
- Volkswagen Passat CC|45678|5
- Drive : Audi A6 : 543 : 47
- Drive : Mercedes CLS : 94 : 11
- Drive : Volkswagen Passat CC : 69 : 8
- Refuel : Audi A6 : 50
- Revert : Mercedes CLS : 500
- Revert : Audi A6 : 30000
- Stop
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement