Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

Question

Help, I making a elevator simulator, I need help in writing code in the Elevator class and it's polymorphism class. I am not sure what to do next. Any help is appreciated.

There are 4 types of passengers in the system:
Standard: This is the most common type of passenger and has a request percentage of 70%. 
Standard passengers have no special requirements.
VIP: This type of passenger has a request percentage of 10%. VIP passengers are given priority 
and are more likely to be picked up by express elevators.
Freight: This type of passenger has a request percentage of 15%. Freight passengers have large 
items that need to be transported and are more likely to be picked up by freight elevators.
Glass: This type of passenger has a request percentage of 5%. Glass passengers have fragile items 
that need to be transported and are more likely to be picked up by glass elevators.

There are 4 types of elevators in the system:
StandardElevator: This is the most common type of elevator and has a request percentage of 70%. 
Standard elevators have a maximum capacity of 10 passengers.
ExpressElevator: This type of elevator has a request percentage of 20%. Express elevators have a 
maximum capacity of 8 passengers and are faster than standard elevators.
FreightElevator: This type of elevator has a request percentage of 5%. Freight elevators have a 
maximum capacity of 5 passengers and are designed to transport heavy items.
GlassElevator: This type of elevator has a request percentage of 5%. Glass elevators have a 
maximum capacity of 6 passengers and are designed to transport fragile item

This is all I could think of 

import java.util.Random;

public abstract class Passenger {

    public static int passengerCounter = 0;

    private String passengerID;

    protected int startFloor;

    protected int endFloor;

    Passenger() {
        this.passengerID = "" + passengerCounter;
        passengerCounter++;
    }

    public abstract boolean requestElevator(SimulatorSettings settings);
}

class StandardPassenger extends Passenger {

    public StandardPassenger() {
        super();
    }

    @Override
    public boolean requestElevator(SimulatorSettings settings) {
        Random rand = new Random();
        this.startFloor = rand.nextInt(settings.getNofloors());
        this.endFloor = rand.nextInt(settings.getNofloors());
        while (this.startFloor == this.endFloor) {
            this.endFloor = rand.nextInt(settings.getNofloors());
        }
        return true;
    }
}

class VIPPassenger extends Passenger {

    public VIPPassenger() {
        super();
    }

    @Override
    public boolean requestElevator(SimulatorSettings settings) {
        // Request an express elevator
        int expressElevator = settings.getNofloors() / 2;
        this.startFloor = expressElevator;
        this.endFloor = expressElevator;
        return true;
    }
}

class FreightPassenger extends Passenger {

    public FreightPassenger() {
        super();
    }

    @Override
    public boolean requestElevator(SimulatorSettings settings) {
        Random rand = new Random();
        this.startFloor = rand.nextInt(settings.getNofloors());
        this.endFloor = rand.nextInt(settings.getNofloors());
        while (this.startFloor == this.endFloor) {
            this.endFloor = rand.nextInt(settings.getNofloors());
        }
        return true;
    }
}

class GlassPassenger extends Passenger {

    public GlassPassenger() {
        super();
    }

    @Override
    public boolean requestElevator(SimulatorSettings settings) {
        Random rand = new Random();
        this.startFloor = rand.nextInt(settings.getNofloors());
        this.endFloor = rand.nextInt(settings.getNofloors());
        while (this.startFloor == this.endFloor) {
            this.endFloor = rand.nextInt(settings.getNofloors());
        }
        return true;
    }
}

public abstract class Elevator{

}

public class StandardElevator extends Elevator{

}

public class ExpressElevator extends Elevator{

}

public class FreightElevator extends Elevator{

}

public class GlassElevator extends Elevator{

}

Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education