Untitled
unknown
plain_text
a year ago
1.5 kB
7
Indexable
public class Stack {
private int capacity;
private int[] stackArray;
private int top;
public Stack(int capacity) {
this.capacity = capacity;
this.stackArray = new int[capacity];
this.top = -1;
}
public void push(int item) throws StackFullException {
if (top == capacity - 1) {
throw new StackFullException("Stack is full. Cannot push more items.");
}
stackArray[++top] = item;
}
public int pop() throws StackEmptyException {
if (top == -1) {
throw new StackEmptyException("Stack is empty. Cannot pop from an empty stack.");
}
return stackArray[top--];
}
public static void main(String[] args) {
try {
Stack myStack = new Stack(3);
myStack.push(1);
myStack.push(2);
myStack.push(3);
myStack.push(4); // Raises StackFullException
} catch (StackFullException e) {
System.out.println(e.getMessage());
}
try {
Stack myStack = new Stack(3);
myStack.pop(); // Raises StackEmptyException
} catch (StackEmptyException e) {
System.out.println(e.getMessage());
}
}
}
class StackFullException extends Exception {
public StackFullException(String message) {
super(message);
}
}
class StackEmptyException extends Exception {
public StackEmptyException(String message) {
super(message);
}
}Editor is loading...
Leave a Comment