The RoomCarpet class should have a method that return the to
Solution
Solution: See the code below. From the problem, it looks like to be developed in Java. So I have written code in Java.
1. ParkedCar class:
--------------------------------------------------
package parkingticket;
/**
 * ParkedCar class
 *
 */
 public class ParkedCar {
    private String make; // make of car
    private String model; // model of car
    private String color; // color of car
    private String licenseNumber; // license no. of car
    private int minutesParked; // no. of minutes a car is parked.
   /**
    * Constructor
    *
    * @param make
    * @param model
    * @param color
    * @param licenseNumber
    * @param minutesParked
    */
    public ParkedCar(String make, String model, String color, String licenseNumber, int minutesParked) {
        super();
        this.make = make;
        this.model = model;
        this.color = color;
        this.licenseNumber = licenseNumber;
        this.minutesParked = minutesParked;
    }
   /**
    * Copy constructor
    */
    public ParkedCar(ParkedCar car) {
        this.make = car.make;
        this.model = car.model;
        this.color = car.color;
        this.licenseNumber = car.licenseNumber;
        this.minutesParked = car.minutesParked;
    }
   /**
    * @return the make
    */
    public String getMake() {
        return make;
    }
   /**
    * @param make
    *            the make to set
    */
    public void setMake(String make) {
        this.make = make;
    }
   /**
    * @return the model
    */
    public String getModel() {
        return model;
    }
   /**
    * @param model
    *            the model to set
    */
    public void setModel(String model) {
        this.model = model;
    }
   /**
    * @return the color
    */
    public String getColor() {
        return color;
    }
   /**
    * @param color
    *            the color to set
    */
    public void setColor(String color) {
        this.color = color;
    }
   /**
    * @return the licenseNumber
    */
    public String getLicenseNumber() {
        return licenseNumber;
    }
   /**
    * @param licenseNumber
    *            the licenseNumber to set
    */
    public void setLicenseNumber(String licenseNumber) {
        this.licenseNumber = licenseNumber;
    }
   /**
    * @return the minutesParked
    */
    public int getMinutesParked() {
        return minutesParked;
    }
   /**
    * @param minutesParked
    *            the minutesParked to set
    */
    public void setMinutesParked(int minutesParked) {
        this.minutesParked = minutesParked;
    }
   /*
    * (non-Javadoc)
    *
    * @see java.lang.Object#toString()
    */
    @Override
    public String toString() {
        return \"ParkedCar [make=\" + make + \", model=\" + model + \", color=\" + color + \", licenseNumber=\" + licenseNumber
                + \", minutesParked=\" + minutesParked + \"]\";
    }
}
-------------------------------------------------------------------
2. ParkingMeter class:
----------------------------------------------------------------
package parkingticket;
/**
 * ParkingMeter class
 *
 */
 public class ParkingMeter {
    private int minutedPurchased; // minutes purchased for parking
   /**
    * Constructor
    *
    * @param minutedPurchased
    */
    public ParkingMeter(int minutedPurchased) {
        super();
        this.minutedPurchased = minutedPurchased;
    }
   /**
    * @return the minutedPurchased
    */
    public int getMinutedPurchased() {
        return minutedPurchased;
    }
   /**
    * @param minutedPurchased
    *            the minutedPurchased to set
    */
    public void setMinutedPurchased(int minutedPurchased) {
        this.minutedPurchased = minutedPurchased;
    }
}
--------------------------------------------------
3. ParkingTicket class:
------------------------------------------------
package parkingticket;
/**
 * ParkingTicket class
 *
 */
 public class ParkingTicket {
    private ParkedCar car; // car parked in parking
    private PoliceOfficer officer; // police officer set to patrol the parking
    private double fine; // fine imposed on car for parking beyond purchased
                            // minutes
   /**
    * Constructor
    *
    * @param car
    * @param officer
    * @param fine
    */
    public ParkingTicket(ParkedCar car, PoliceOfficer officer, double fine) {
        super();
        this.car = car;
        this.officer = officer;
        this.fine = fine;
    }
   /**
    * Copy constructor
    */
    public ParkingTicket(ParkingTicket ticket) {
        this.car = ticket.car;
        this.officer = ticket.officer;
        this.fine = ticket.fine;
    }
   /**
    * @return the car
    */
    public ParkedCar getCar() {
        return car;
    }
   /**
    * @param car
    *            the car to set
    */
    public void setCar(ParkedCar car) {
        this.car = car;
    }
   /**
    * @return the officer
    */
    public PoliceOfficer getOfficer() {
        return officer;
    }
   /**
    * @param officer
    *            the officer to set
    */
    public void setOfficer(PoliceOfficer officer) {
        this.officer = officer;
    }
   /**
    * @return the fine
    */
    public double getFine() {
        return fine;
    }
   /**
    * calculates fine
    */
    public void calculateFine(int extraParkedMinutes) {
        double hours=extraParkedMinutes/60;
        if(hours > 1)
        {
            fine=fine+(hours-1)*10;;
        }      
    }
   /* (non-Javadoc)
    * @see java.lang.Object#toString()
    */
    @Override
    public String toString() {
        return \"ParkingTicket [car=\" + car + \", officer=\" + officer + \", fine=\" + fine + \"]\";
    }  
 }
-------------------------------------------------
4. PoliceOfficer class:
--------------------------------------------------
package parkingticket;
/**
 * PoliceOfficer class
 *
 */
 public class PoliceOfficer {
    private String name; // name of police officer
    private String badgeNumber; // badge number of officer
   /**
    * Constructor
    *
    * @param name
    * @param badgeNumber
    */
    public PoliceOfficer(String name, String badgeNumber) {
        super();
        this.name = name;
        this.badgeNumber = badgeNumber;
    }
   /**
    * Copy constructor
    */
    public PoliceOfficer(PoliceOfficer officer) {
        this.name = officer.name;
        this.badgeNumber = officer.badgeNumber;
    }
   /**
    * @return the name
    */
    public String getName() {
        return name;
    }
   /**
    * @param name
    *            the name to set
    */
    public void setName(String name) {
        this.name = name;
    }
   /**
    * @return the badgeNumber
    */
    public String getBadgeNumber() {
        return badgeNumber;
    }
   /**
    * @param badgeNumber
    *            the badgeNumber to set
    */
    public void setBadgeNumber(String badgeNumber) {
        this.badgeNumber = badgeNumber;
    }
   /**
    * patrols car
    */
    public int patrol(ParkedCar car, ParkingMeter meter) {
        return (car.getMinutesParked() - meter.getMinutedPurchased());
    }
   /*
    * (non-Javadoc)
    *
    * @see java.lang.Object#toString()
    */
    @Override
    public String toString() {
        return \"PoliceOfficer [name=\" + name + \", badgeNumber=\" + badgeNumber + \"]\";
    }
 }
---------------------------------------------
5. ParkingTicketSimulator class containing main() function:
-----------------------------------------------
package parkingticket;
/**
 * ParkingTickerSimulator class
 *
 */
 public class ParkingTicketSimulator {
   /**
    * @param args
    */
    public static void main(String[] args) {
       // parked car
        ParkedCar car = new ParkedCar(\"Buke\", \"1972\", \"Black\", \"128RXVM\", 80);
        // parking meter
        ParkingMeter meter = new ParkingMeter(60);
        // police officer on duty
        PoliceOfficer officer = new PoliceOfficer(\"John Merchant\", \"4566\");
       // car data
        System.out.println(car.toString());
       // officer data
        System.out.println(officer.toString());
       // officer patrols the car for extra parked minutes
        int extraParkedMinutes = officer.patrol(car, meter);
       // check if parking ticket can be issued.
        if (extraParkedMinutes > 0) {
            ParkingTicket ticket = new ParkingTicket(car, officer, 25);
            ticket.calculateFine(extraParkedMinutes);
            System.out.println(\"Illegally parked minutes:\" + extraParkedMinutes);
            System.out.println(\"Fine imposed(in $):\" + ticket.getFine());
        } else {
            System.out.println(\"No crimes committed!\");
        }
}
}
---------------------------------------------------------
6. Output:
------------------------------------------------------
ParkedCar [make=Buke, model=1972, color=Black, licenseNumber=128RXVM, minutesParked=80]
 PoliceOfficer [name=John Merchant, badgeNumber=4566]
 Illegally parked minutes:20
 Fine imposed(in $):25.0
----------------------------------------







