Skip to content

About

Java OOP interview take-home: fuel and electric vehicles modeled with inheritance and sorted via a custom Comparable ordering

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Vehicle Sorting — Java OOP Exercise

A small interview take-home (Duda home assignment): model vehicles with fuel or electric engines and sort them with a custom Comparable ordering. Plain Java, no dependencies.

Design

  • Vehicle (abstract) — holds the wheel count, the Engine, and a normalized amount of energy; implements Comparable<Vehicle>.
  • Car, Motorcycle — concrete vehicles. The constructor overload chooses the engine type:
    • new Car(wheels, int fuelLiters) — fuel engine
    • new Car(wheels, float batteryCharge) — electric engine (charge given as a fraction between 0 and 1)
  • Engine / Engine.EngineType — fuel or electric.

Energy is normalized so both engine types compare on the same scale: fuel vehicles report liters of fuel, electric vehicles report battery percentage (charge fraction × 100).

The natural ordering (Vehicle.compareTo) sorts fuel vehicles before electric ones, then by amount of energy in descending order within each group. Main builds a demo list, prints it, sorts it with Collections.sort, and prints the result.

Requirements

  • JDK 8 or newer

Compile and run

javac -d out src/*.java
java -cp out Main

Expected output:

Car{wheels=4, engine=Fuel, energy=20.0}
Car{wheels=4, engine=Electric, energy=40.0}
Motorcycle{wheels=2, engine=Fuel, energy=5.0}
Motorcycle{wheels=2, engine=Electric, energy=80.0}
---------------------------------------------
Car{wheels=4, engine=Fuel, energy=20.0}
Motorcycle{wheels=2, engine=Fuel, energy=5.0}
Motorcycle{wheels=2, engine=Electric, energy=80.0}
Car{wheels=4, engine=Electric, energy=40.0}

Or open the project folder in any Java IDE and run Main.

About

Java OOP interview take-home: fuel and electric vehicles modeled with inheritance and sorted via a custom Comparable ordering

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages