Passenger without vehicle, 20 $.
Bicycle 40$ (passenger included).
Car 100$ + 15 $/passenger. (maximum 4 passengers)
Bus 200 $ + 10 $/ passenger. (maximum 20 passengers)
Lorry 300 $ + 15 $/ passenger. (maximum 2 passengers)
Every type of vehicle (car, bus, lorry, bicycle) will inherit from the class Vehicle. The functionality of the ferry is given by the interface Ferry :
public interface Ferry {
int countPassengers(); // Number of passengers on board
int countVehicleSpace(); // Used vehicle space. One car is 1.
int countMoney(); // Earned money
Iterator iterator(); // Vehicle iterator
void embark(Vehicle v); // Embark vehicle, warning if not enough space
void embark(Passenger p); // Embark passenger, warning if not enough room
void disembark(); // Clear (empty) ferry. The money earned remains,
// i.e., is not reset to zero
boolean hasSpaceFor(Vehicle v); // true if we can embark vehicle v
boolean hasRoomFor(Passenger p); // true if we can embark passenger p
String toString(); // Nice looking ferry status print out
}
A vehicle cannot leave the ferry until the ferry has been disembarked and the same vehicle cannot embark twice. The ferry iterator should iterate over all vehicles embarked (not the passengers). Also write a program FerryMain.java, embarking a number of vehicles and passengers, showing the functionality of the methods.
MOD EDIT: When posting code...USE CODE TAGS!!!
This post has been edited by codebuzz: 07 October 2010 - 06:44 AM

New Topic/Question
Reply




MultiQuote









|