taxicompany.java

来自「现在在国外大学里最流行的java学习软件,同时还有大量的example,在名为p」· Java 代码 · 共 99 行

JAVA
99
字号
import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.LinkedList;import java.util.Map;/** * Model the operation of a taxi company, operating different * types of vehicle. This version operates a single taxi. *  * @author David J. Barnes and Michael Kolling * @version 2006.03.30 */public class TaxiCompany  {    // The vehicles operated by the company.    private List<Vehicle> vehicles;    // The associations between vehicles and the passengers    // they are to pick up.    private Map<Vehicle, Passenger> assignments;    /**     * Constructor for objects of class TaxiCompany     */    public TaxiCompany()    {        vehicles = new LinkedList<Vehicle>();        assignments = new HashMap<Vehicle, Passenger>();    }    /**     * Request a pickup for the given passenger.     * @param passenger The passenger requesting a pickup.     * @return Whether a free vehicle is available.     */    public boolean requestPickup(Passenger passenger)    {        Vehicle vehicle = scheduleVehicle();        if(vehicle != null) {            assignments.put(vehicle, passenger);            vehicle.setPickupLocation(passenger.getPickupLocation());            return true;        }        else {            return false;        }    }        /**     * A vehicle has arrived at a pickup point.     * @param vehicle The vehicle at the pickup point.     * @throws MissingPassengerException If there is no passenger waiting.     */    public void arrivedAtPickup(Vehicle vehicle)    {        Passenger passenger = assignments.remove(vehicle);        if(passenger == null) {            throw new MissingPassengerException(vehicle);        }        System.out.println(vehicle + " picks up " + passenger);        vehicle.pickup(passenger);    }        /**     * A vehicle has arrived at a passenger's destination.     * @param vehicle The vehicle at the destination.     * @param passenger The passenger being dropped off.     */    public void arrivedAtDestination(Vehicle vehicle,                                     Passenger passenger)    {        System.out.println(vehicle + " offloads " + passenger);    }        /**     * @return The list of vehicles.     */    public List<Vehicle> getVehicles()    {        return vehicles;    }        /**     * Find a free vehicle, if any.     * @return A free vehicle, or null if there is none.     */    private Vehicle scheduleVehicle()    {        Iterator<Vehicle> it = vehicles.iterator();        while(it.hasNext()) {            Vehicle vehicle = it.next();            if(vehicle.isFree()) {                return vehicle;            }        }        return null;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?