publicclass Stack {
//keep these two fields as they are
private Object[] elements;
private int size =0;
public Stack(int initialCapacity){
elements = new Object[initialCapacity];
}
publicvoid push(Object object){
ensureCapacity();
elements[size++] = object;
}
public Object pop(){
if(size == 0){
thrownewEmptyStackException();
}
returnelements[--size];
}
private void ensure Capacity(){
if([Link] == size){
Object[] old = elements;
elements= new Object[2* size +1];
[Link](old, 0, elements, 0, size);
}
}
publicstaticvoid main(String args[]){
Stack stack= newStack(100);
}