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{ }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
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
steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Class
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education