Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Complete the implementation of the ArrayStack class presented inChapter 12. Specifically, complete the implementations of theisEmpty, size, and toString methods. See Base_A05Q1.java for astarting place

Complete the implementation of the ArrayStack class presented inChapter 12. Specifically, complete the implementations of theisEmpty, size, and toString methods. See Base_A05Q1.java for astarting place and a description of these methods.

/** * Write a description of the program here. *  * @author Lewis et al., (your name) * @version (program version) */import java.util.Arrays;public class Base_A05Q1{    /**     * Program entry point for stack testing.     * @param args Argument list.     */        public static void main(String[] args)    {        ArrayStack stack = new ArrayStack();                System.out.println("STACK TESTING");                stack.push(3);        stack.push(7);        stack.push(4);        System.out.println(stack.peek());        stack.pop();                stack.push(9);        stack.push(8);        System.out.println(stack.peek());                System.out.println(stack.pop());        System.out.println(stack.peek());                        System.out.println("The size of the stack is: " + stack.size());        System.out.println("The stack contains:" + stack.toString());            }        /**     * An array implementation of a stack in which the bottom of the     * stack is fixed at index 0.     *      * @author Java Foundations     * @version 4.0     */    public static class ArrayStack implements StackADT    {        private final static int DEFAULT_CAPACITY = 100;            private int top;          private T[] stack;              /**         * Creates an empty stack using the default capacity.         */        public ArrayStack()        {            this(DEFAULT_CAPACITY);        }            /**         * Creates an empty stack using the specified capacity.         * @param initialCapacity the initial size of the array          */        @SuppressWarnings("unchecked") //see p505.        public ArrayStack(int initialCapacity)        {            top = 0;            stack = (T[])(new Object[initialCapacity]);        }            /**         * Adds the specified element to the top of this stack, expanding         * the capacity of the array if necessary.         * @param element generic element to be pushed onto stack         */        public void push(T element)        {            if (size() == stack.length)                 expandCapacity();                stack[top] = element;            top++;        }            /**         * Creates a new array to store the contents of this stack with         * twice the capacity of the old one.         */        private void expandCapacity()        {            stack = Arrays.copyOf(stack, stack.length * 2);           }            /**         * Removes the element at the top of this stack and returns a         * reference to it.          * @return element removed from top of stack         * @throws EmptyCollectionException if stack is empty          */        public T pop() throws EmptyCollectionException        {            if (isEmpty())                throw new EmptyCollectionException("stack");                top--;            T result = stack[top];            stack[top] = null;                 return result;        }               /**         * Returns a reference to the element at the top of this stack.         * The element is not removed from the stack.          * @return element on top of stack         * @throws EmptyCollectionException if stack is empty         */        public T peek() throws EmptyCollectionException        {            if (isEmpty())                throw new EmptyCollectionException("stack");                return stack[top-1];        }            /**         * Returns true if this stack is empty and false otherwise.          * @return true if this stack is empty         */        public boolean isEmpty()        {            //TODO: Implement me.            return false;        }             /**         * Returns the number of elements in this stack.         * @return the number of elements in the stack         */        public int size()        {            //TODO: Implement me.            return 0;        }        /**         * Returns a string representation of this stack. The string has the         * form of each element printed on its own line, with the top most         * element displayed first, and the bottom most element displayed last.         * If the list is empty, returns the word "empty".         * @return a string representation of the stack         */        public String toString()        {            //TODO: Implement me.            return "";        }    }}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Java Software Structures Designing And Using Data Structures

Authors: John Lewis, Joe Chase

4th Edition

0133250121, 978-0133250121

More Books

Students also viewed these Electrical Engineering questions

Question

Complete the implementation of the ArrayList class.

Answered: 1 week ago

Question

Complete the implementation of the ArrayOrderedList class.

Answered: 1 week ago

Question

Draw an expression tree for the expression (9 + 4) * 5 + (4 (6 3)).

Answered: 1 week ago