Create an application named travelcosts that is made up of


Travel Costs Java Application

Create an application named TravelCosts that is made up of a number of different classes.

Create an abstract superclass called Transportation that has the following three fields:

  • protected String routeName;
  • protected int distanceInMiles;
  • protected int passengerCapacity;

Your class must have a three argument constructor that initializes those three fields, and the class must also have the following getters and setters for those fields:

  • public String getRouteName()
  • public void setRouteName(String name)
  • public int getDistanceInMiles()
  • public void setDistanceInMiles(int distance)
  • public int getPassengerCapacity()
  • public void setPassengerCapacity(int capacity)

The setters for the distanceInMiles and the passengerCapacity must protect that data from getting negative values.

The Transportation class also has an abstract method called getFare() that takes no arguments and returns a double which represents the cost of the trip. Also create a toString() method that returns a String with the route name followed by the distance of the trip followed by the passenger capacity. All of this data must have proper labels and it must be on three separate lines.

Next create two child classes of the Transportation class called TaxiTrip and TrainTrip.

The TaxiTrip class has the following additional field:

  • protected double ratePerMile;

Create a four argument constructor for this class that sets this field as well as the fields of the superclass. Be sure to set the superclass fields with a call to super(), and remember that when you use a super() call it must be the first line of the constructor.

Also create a getter and a setter method for this field, and be sure the setter method protects the field from getting negative values.

For the TaxiTrip class you need to override the getFare() method such that it determines the fare by multiplying the distanceInMiles with the ratePerMile.

And you must create a toString() method that returns a String with the parent information using a call to super.toString() and then on a separate line show the cost of the trip formatted as a dollar amount to two decimals and include a proper label for that information.

The TrainTrip class has the following additional field:

  • protected int stopsInRoute;

Create a four argument constructor for this class that sets this field as well as the fields of the superclass. Be sure to set the superclass fields with a call to super(), and remember that when you use a super() call it must be the first line of the constructor.

Also create a getter and a setter method for this field, and be sure the setter method protects the field from getting negative values.

For the TrainTrip class you need to override the getFare() method such that the cost of a trip is determined by how far the trip is as well as by how many stops there are on the route. There is a base fare for the trip which is the value of 1/10th of the distance of the trip in dollars and cents. So, for example, if the trip is going to be 555 miles, then the cost will be 1/10th of that, or $55.50. However, the company wants to compensate passengers for too many stops on the route, and so the company subtracts 1/10th of the base fare for the first stop, and 1/100th of the base fare for the second stop, and so on, subtracting 1/10nth of the base fare for every nth stop. If there are no stops, then nothing is subtracted.

For example, if there are 3 stops for a 1000 mile trip, then the base fare is $100.00 and the total fare is:

    Total Fare = $100.00 - (100.00 * 1/10) - (100.00 * 1/100) - (100.00 * 1/1000)

    Total Fare = $100.00 - 10.00 - 1.00 - 0.10

    Total Fare = $88.90

And you must create a toString() method that returns a String with the parent information using a call to super.toString() and then on a separate line show the cost of the trip formatted as a dollar amount to two decimals and include a proper label for that information.

Write a driver program called MakeTrip that has the main() method and that test the TaxiTrip and TrainTrip by creating two different Taxi trips and two different Train Trips and then prints them out.

Solution Preview :

Prepared by a verified Expert
Basic Computer Science: Create an application named travelcosts that is made up of
Reference No:- TGS01586645

Now Priced at $30 (50% Discount)

Recommended (93%)

Rated (4.5/5)