Valeri173

Untitled

Oct 30th, 2024
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. abstract class Vehicle {
  2.     protected int speed;
  3.     protected int fuel;
  4.  
  5.     public Vehicle(int speed, int fuel) {
  6.         this.speed = speed;
  7.         this.fuel = fuel;
  8.     }
  9.  
  10.     public abstract void accelerate();
  11.     public abstract void brake();
  12. }
  13.  
  14. class SimpleCar extends Vehicle {
  15.  
  16.     public SimpleCar(int speed, int fuel) {
  17.         super(speed, fuel);
  18.     }
  19.  
  20.     @Override
  21.     public void accelerate() {
  22.         if (fuel > 0) {
  23.             speed += 10;
  24.             fuel--;
  25.             System.out.println("Speed after accelerate: " + speed + ", Fuel: " + fuel);
  26.             if (fuel == 0) {
  27.                 System.out.println("Out of fuel!");
  28.             }
  29.         } else {
  30.             System.out.println("Out of fuel!");
  31.         }
  32.     }
  33.  
  34.     @Override
  35.     public void brake() {
  36.         if (speed >= 10) {
  37.             speed -= 10;
  38.             System.out.println("Speed after brake: " + speed);
  39.         } else {
  40.             System.out.println("Car is already at minimum speed.");
  41.         }
  42.     }
  43. }
  44.  
  45. class ElectricCar extends Vehicle {
  46.  
  47.     public ElectricCar(int speed, int battery) {
  48.         super(speed, battery);
  49.     }
  50.  
  51.     @Override
  52.     public void accelerate() {
  53.         if (fuel > 0) {
  54.             speed += 15;
  55.             fuel--;
  56.             System.out.println("Speed after accelerate: " + speed + ", Battery: " + fuel);
  57.             if (fuel == 0) {
  58.                 System.out.println("Battery empty!");
  59.             }
  60.         } else {
  61.             System.out.println("Battery empty!");
  62.         }
  63.     }
  64.  
  65.     @Override
  66.     public void brake() {
  67.         if (speed >= 10) {
  68.             speed -= 10;
  69.             System.out.println("Speed after brake: " + speed);
  70.         } else {
  71.             System.out.println("Car is already at minimum speed.");
  72.         }
  73.     }
  74. }
  75.  
  76. public class Main {
  77.     public static void main(String[] args) {
  78.         int initialSpeedCar = 20;
  79.         int initialFuelCar = 2;
  80.         int initialSpeedElectricCar = 30;
  81.         int initialBatteryElectricCar = 2;
  82.  
  83.         if (args.length >= 4) {
  84.             initialSpeedCar = Integer.parseInt(args[0]);
  85.             initialFuelCar = Integer.parseInt(args[1]);
  86.             initialSpeedElectricCar = Integer.parseInt(args[2]);
  87.             initialBatteryElectricCar = Integer.parseInt(args[3]);
  88.         } else {
  89.             System.out.println("Default values will be used for vehicles.");
  90.         }
  91.  
  92.         SimpleCar simpleCar = new SimpleCar(initialSpeedCar, initialFuelCar);
  93.         ElectricCar electricCar = new ElectricCar(initialSpeedElectricCar, initialBatteryElectricCar);
  94.  
  95.         System.out.println("SimpleCar:");
  96.         simpleCar.accelerate();
  97.         simpleCar.accelerate();
  98.  
  99.         System.out.println("\nElectricCar:");
  100.         electricCar.accelerate();
  101.         electricCar.accelerate();
  102.     }
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment