Answer:
See explaination
Step-by-step explanation:
StackExample.java
public class StackExample<T> {
private final static int DEFAULT_CAPACITY = 100;
private int top;
private T[] stack = (T[])(new Object[DEFAULT_CAPACITY]);
/**
* Returns a reference to the element at the top of this stack.
* The element is not removed from the stack.
* atreturn element on top of stack
* atthrows 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.
* atreturn true if this stack is empty
*/
public boolean isEmpty()
{
return top < 0;
}
}
//please replace "at" with the at symbol
Note:
peek() method will always pick the first element from stack. While calling peek() method when stack is empty then it will throw stack underflow error. Since peek() method will always look for first element ffrom stack there is no chance for overflow of stack. So overflow error checking is not required. In above program we handled underflow error in peek() method by checking whether stack is an empty or not.