class Main
{
publicstaticvoid main(String[] args)
{
Vehicle[] vehicles = new Vehicle[3];
vehicles[0] = new ElectricCar("Tesla", "Model 3", 262);
// 262 mile range
vehicles[1] = new Motorboat("Starweld", "16 Fusion DC", 45);
// 45 mile range
vehicles[2] = new Sailboat("Gulf Marine", "Gulf 32");
// sailboats have unlimited range
for(Vehicle v : vehicles)
{
goDistanceTest(v, 20);
goDistanceTest(v, 40);
System.out.println();
}
}
// Test v to see if it can go distance, and output results.
staticvoid goDistanceTest(Vehicle v, int distance)
{
System.out.print("Going " + distance + " miles: ");
if (!v.travel(distance))
System.out.println("Can't make it.");
elseif(v instanceof LimitedRange)
{
System.out.println("I can go " + ((LimitedRange)v).getCurrentRange() + " miles farther.");
}
}
}
/* Sample Output
Going 20 miles: Zoom!
I can go 242 miles farther.
Going 40 miles: Zoom!
I can go 202 miles farther.
Going 20 miles: Wisshhh!
I can go 25 miles farther.
Going 40 miles: Can't make it.
Going 20 miles: Weee!
Going 40 miles: Weee!
*/