Question
Include a method toString in the interface QueueInterface. Create a method toString in the class ArrayQueue. To test the method toString, call it in the
Include a method toString in the interface QueueInterface.
Create a method toString in the class ArrayQueue. To test the method toString, call it in the main method of the ArrayQueue class and print the result.
You have to create a queue object before that and enqueue some items in the queue, so that the queue is not empty.
Array Queu
/** A class that implements the ADT queue by using an expandable circular array with one unused location. @author Frank M. Carrano @author Timothy M. Henry @version 4.0 */ public final class ArrayQueue
public ArrayQueue() { this(DEFAULT_CAPACITY); } // end default constructor
public ArrayQueue(int initialCapacity) { checkCapacity(initialCapacity); // The cast is safe because the new array contains null entries @SuppressWarnings("unchecked") T[] tempQueue = (T[]) new Object[initialCapacity + 1]; queue = tempQueue; frontIndex = 0; backIndex = initialCapacity; initialized = true; } // end constructor
public void enqueue(T newEntry) { checkInitialization(); ensureCapacity(); backIndex = (backIndex + 1) % queue.length; queue[backIndex] = newEntry; } // end enqueue
public T getFront() { checkInitialization(); if (isEmpty()) throw new EmptyQueueException(); else return queue[frontIndex]; } // end getFront public T dequeue() { checkInitialization(); if (isEmpty()) throw new EmptyQueueException(); else { T front = queue[frontIndex]; queue[frontIndex] = null; frontIndex = (frontIndex + 1) % queue.length; return front; } // end if } // end dequeue
public boolean isEmpty() { return frontIndex == ((backIndex + 1) % queue.length); } // end isEmpty
// Question 3, Chapter 11 public void clear() { checkInitialization(); if (!isEmpty()) { // deallocates only the used portion for (int index = frontIndex; index != backIndex; index = (index + 1) % queue.length) { queue[index] = null; } // end for queue[backIndex] = null; } // end if frontIndex = 0; backIndex = queue.length - 1; } // end clear
// Throws an exception if this object is not initialized. private void checkInitialization() { if (!initialized) throw new SecurityException ("ArrayQueue object is not initialized properly."); } // end checkInitialization // Throws an exception if the client requests a capacity that is too large. private void checkCapacity(int capacity) { if (capacity > MAX_CAPACITY) throw new IllegalStateException("Attempt to create a queue " + "whose capacity exceeds " + "allowed maximum."); } // end checkCapacity // Doubles the size of the array queue if it is full. // Precondition: checkInitialization has been called. private void ensureCapacity() { if (frontIndex == ((backIndex + 2) % queue.length)) // If array is full, { // double size of array T[] oldQueue = queue; int oldSize = oldQueue.length; int newSize = 2 * oldSize; checkCapacity(newSize);
// The cast is safe because the new array contains null entries @SuppressWarnings("unchecked") T[] tempQueue = (T[]) new Object[newSize]; queue = tempQueue; for (int index = 0; index < oldSize - 1; index++) { queue[index] = oldQueue[frontIndex]; frontIndex = (frontIndex + 1) % oldSize; } // end for frontIndex = 0; backIndex = oldSize - 2; } // end if } // end ensureCapacity
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // Add the code for the toString() method here // public String toString() {
public static void main(String[] args) { ArrayQueue
// Add code for initializing the queue
System.out.println(queue1); } // end main //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } // end ArrayQueue
------
EmptyQueueException
/** A class of runtime exceptions thrown by methods to indicate that a queue is empty. @author Frank M. Carrano @author Timothy M. Henry */ public class EmptyQueueException extends RuntimeException { public EmptyQueueException() { this(null); } // end default constructor public EmptyQueueException(String message) { super(message); } // end constructor } // end EmptyQueueException
QueueInterface
/** An interface for the ADT queue. @author Frank M. Carrano @version 3.0 */ public interface QueueInterface
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started