Daladala.java

← Back to Course
Java Source File Download
public class Daladala {
    private String plateNumber;
    private String routeName;
    private int capacity;
    private int currentPassengers;

    public Daladala(String plateNumber, String routeName, int capacity) {
        this.plateNumber = plateNumber;
        this.routeName = routeName;
        this.capacity = capacity;
        this.currentPassengers = 0;
    }

    public String getPlateNumber() {
        return plateNumber;
    }

    public void setPlateNumber(String plateNumber) {
        this.plateNumber = plateNumber;
    }

    public String getRouteName() {
        return routeName;
    }

    public void setRouteName(String routeName) {
        this.routeName = routeName;
    }

    public int getCapacity() {
        return capacity;
    }

    public void setCapacity(int capacity) {
        this.capacity = capacity;
    }

    public int getCurrentPassengers() {
        return currentPassengers;
    }

    public void setCurrentPassengers(int currentPassengers) {
        this.currentPassengers = currentPassengers;
    }

//     boardPassengers(int count) adds passengers only if it does not exceed capacity, and returns true or false.
    public boolean boardPassengers(int count) {
        if (currentPassengers + count <= capacity) {
            currentPassengers += count;
            return true;
        } else {
            System.out.println("Error: Exceeds capacity.");
            return false;
        }
    }
//     alightPassengers(int count) removes passengers if that many are currently on board.
    public boolean alightPassengers(int count) {
        if (count <= currentPassengers) {
            currentPassengers -= count;
            return true;
        } else {
            System.out.println("Error: Not enough passengers to alight.");
            return false;
        }
    }
//     In main(), create two DalaDala objects, perform boarding and alighting operations, and display the status using getters.

    public static void main(String[] args) {
        Daladala dala1 = new Daladala("T123ABC", "Downtown to Uptown", 30);
        Daladala dala2 = new Daladala("T456DEF", "Eastside to Westside", 20);

        // Boarding passengers
        dala1.boardPassengers(25);
        dala2.boardPassengers(15);

        // Display status
        System.out.println("DalaDala 1 - Plate: " + dala1.getPlateNumber() + ", Route: " + dala1.getRouteName() + ", Current Passengers: " + dala1.getCurrentPassengers());
        System.out.println("DalaDala 2 - Plate: " + dala2.getPlateNumber() + ", Route: " + dala2.getRouteName() + ", Current Passengers: " + dala2.getCurrentPassengers());

        // Alighting passengers
        dala1.alightPassengers(10);
        dala2.alightPassengers(5);

        // Display status again
        System.out.println("After alighting:");
        System.out.println("DalaDala 1 - Current Passengers: " + dala1.getCurrentPassengers());
        System.out.println("DalaDala 2 - Current Passengers: " + dala2.getCurrentPassengers());
    }
    
}