public class ArravBeurdedQueYe implements QueuelotRTAse protected final int DEFCAP = 100; // default capacity protected T elements; protected int wElAnerts = lin/ number of elements in this queue protected int front = Qin protected int Riv // array that holds queue elements / index of front of queue // index of rear of queue public AtravBouodedve) { elements = (T)) new Object[DEFCAP]; rear = DEFCAP - 1; public AravBoundedliat waxsize) { elements = (T) new Object[maxsje); rear = vaxSze - 1; } public void engueuelT element) // Throws QueueOvertlawExcertierif this queue is full; // otherwise, adds element to the rear of this queue. if (İSEWW) throw new QueuelvertowExcertierl"Enqueue attempted on a full queue."); else rear = (rear + 1) % elementsleneth; elements[rear] = element; OUDElenRAts = QUDElements+ 1; } public T deguRue) // Throws QueyelWodertlavExsertieif this queue is empty; // otherwise, removes front element from this queue and returns it. { if (iSEmotx) throw new QuevevodertlowExcertiel"Dequeue attempted on empty queue."); else T taRetura = elements[front]; elements[front] = null; front = (front + 1) % elementslength: OwDElenents = vDElenents - 1; return toRetua public booleao isEMptel // Returns true if this queue is empty; otherwise, returns false. { return (QupEleRRAts == 0); public booleao isEuW // Returns true if this queue is full; otherwise, returns false. return (QuElemRAts == elementsleDsth); } public int sjzed // Returns the number of elements in this queue. { return numElemRnts
how to create a java file that inherit the arrayboundedqueue class show in screen shot and Implement the myqueueInterface interface as an array bounded queue? please also add a space() method that will return how much space is left in the bounded queue in your class. below is the myqueueinterface interface. (note your class must contain the methods from the myqueueinterface interface).
public interface MyQueueInterface<T> extends QueueInterface<T> {
public String toString();
// Creates and returns a string that correctly represents the current queue.
public void remove(int count);
// Removes the front count elements from the queue.
// Throw QueueUnderflowException with message of "Less than count elements in
// queue." if there are less than count elements in the queue.
public void reQueue();
// Dequeue an element from front, and enqueue the element back to rear of the queue.
// Throw QueueUnderflowException with message of "No element in queue."
// if there is no element in the queue.
public void clear();
// Clear entire queue.
public void reverse();
// Reverse queue content. Hint: you may use LinkedStack ADT.
}
then use the driver program shown in screen shot to test.
program should output
fruit cost = 30
below is code for the queueinterface interface.
public interface QueueInterface<T> {
void enqueue(T element) throws QueueOverflowException;
// Throws QueueOverflowException if this queue is full;
// otherwise, adds element to the rear of this queue.
T dequeue() throws QueueUnderflowException;
// Throws QueueUnderflowException if this queue is empty;
// otherwise, removes front element from this queue and returns it.
boolean isFull();
// Returns true if this queue is full; otherwise, returns false.
boolean isEmpty();
// Returns true if this queue is empty; otherwise, returns false.
int size();
// Returns the number of elements in this queue.
}
![public class ArravReuededQURUR<T> implements Queuelotertare<T>
{
protected final int DEFCAP = 100; // default capacity
protected TH elements;
// array that holds queue elements
protected int wMElenents = lin/ number of elements in this queue
protected int front = Qin
protected int ein
// index of front of queue
/ index of rear of queue
public AcravBevodedQueHAU
elements = (TI)) new Object[DEFCAP];
rear = DEFCAP - 1;
}
public ArravBouodedQveralint vaxsize)
{
elements = (T)) new Object[maxsie);
rear = VaxSize - 1;
}
public void enguRuelT element)
// Throws QyeyevertlowExsertien if this queue is full;
// otherwise, adds element to the rear of this queue.
{
if (İSEUW)
throw new QueveevertlowExcertieal"Enqueue attempted on a full queue.");
else
{
rear = (rear + 1) % elements leneth:
elements[rear] = element;
OwDElements = QDElements+ 1;
}
public T deguRue)
// Throws QueyeUoderflbwExsertien if this queue is empty;
// otherwise, removes front element from this queue and returns it.
if (iŞEmotu)
throw new QueuellodertlowExcertienl"Dequeue attempted on empty queue.");
else
{
T toReturn = elements[front];
elements[front] = null;
front = (front + 1) % elementsleneth:
wDElements = wmElements- 1;
return toRetua
}
}
public booleao isEMptx)
// Returns true
this queue is empty; otherwise, returns false.
{
return (qumElemAnts== 0);
public boelean İSEUW
// Returns true if this queue is full; otherwise, returns false.
{
return (QumElements== elementsleneth);
}
public int sizell
// Returns the number of elements in this queue.
{
return nymElements
}](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F1b2c1e36-9974-49eb-8a0c-fe4d3c635f06%2F5305bf86-6379-491d-aa47-23a12312b5cb%2Fqdjoks_processed.png&w=3840&q=75)
![//do not modify
public class driver {
public static void main(String[] args) {
Queuelnterface<String> fruits = new MxArravBaundedoQueue<String(10);
int n = 0;
fruits.enaueuel"Apple");
fruits.enaueuel"Orange");
if (fruits.toString().trim().egualslgnoreCase("Apple\nQrange"))
n += 5;
fruits.engueue("Lemon");
((MXActaxBaundedQueue<String>) fruits).remeve(2);
if (fruits.toString().trim().egualslenereCase("Lemon"))
n += 5;
try {
((MYAccaxBaundedQueue<String>) fruits),remexe(2);
} catch (QueuellnderflewExcertion e) {
if (egetMessagel).egualslgnereCase("Less than 2 elements in queue."))
n += 5;
fruits.engueuel"Banana");
fruits.engueue("Pineapple");
((MYAttaxBQundedQueue<String>) fruits),reQueuel);
if (fruits.tostring().trim().equalslgnoreCase("Banana\nPineapple\nLemon")
n += 5;
((MXActaxBaundedQueue<String>) fruits).reversel);
if (fcuits.tostring().trim().equalslgnoreCase("Lemon\nPineapple\nBanana"))
n += 5;
((MYAtraxBoundedQueue<String>) fruits).clear();
if (fruitsisEmetul) && fruits-size() == 0)
n += 5;
System.out.printin("fruits cost =" +n);
}](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F1b2c1e36-9974-49eb-8a0c-fe4d3c635f06%2F5305bf86-6379-491d-aa47-23a12312b5cb%2Fuis94ls_processed.png&w=3840&q=75)

Trending now
This is a popular solution!
Step by step
Solved in 2 steps









