class Practicestack {
public static void main
(String[] args
) { Stackx newStack = new Stackx(5);
newStack.push("redShirt");
newStack.push("greenShirt");
newStack.push("yellowPants");
newStack.push("purpleSocks");
newStack.push("pinkSocks");
newStack.peek();
//Display the Full Stack
newStack.display();
//Test removing a value using pop method
newStack.pop();
newStack.display();
}
}
class Stackx {
private int maxSize; //number of items in stack
private int top; // top of stack
public Stackx(int arraySize) {
maxSize = arraySize;
stackArray
= new String[maxSize
]; top = -1;
}
public void push
(String a
) { //put value on top of stack if (top == maxSize - 1)
{
System.
out.
println("Stack is full"); } else {
top = top + 1;
stackArray[top] = a;
}
}
public String pop
() { //take item from top of stack if (!isEmpty())
return stackArray[top--]; // access item, decrement top
else {
System.
out.
println("Stack is Empty"); throw null;
}
}
public String peek
() //peek at the top of the stack {
return stackArray[top];
}
public boolean isEmpty() { //true if stack is empty
return top == -1;
}
public void display() {
for (int i = 0; i <= top; i++) {
System.
out.
print(stackArray
[i
] + " "); }
}
} // End class stackx
CmNsYXNzIFByYWN0aWNlc3RhY2sgewoKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgICAgIFN0YWNreCBuZXdTdGFjayA9IG5ldyBTdGFja3goNSk7CiAgICAgICAgICAgIG5ld1N0YWNrLnB1c2goInJlZFNoaXJ0Iik7CiAgICAgICAgICAgIG5ld1N0YWNrLnB1c2goImdyZWVuU2hpcnQiKTsKICAgICAgICAgICAgbmV3U3RhY2sucHVzaCgieWVsbG93UGFudHMiKTsKICAgICAgICAgICAgbmV3U3RhY2sucHVzaCgicHVycGxlU29ja3MiKTsKICAgICAgICAgICAgbmV3U3RhY2sucHVzaCgicGlua1NvY2tzIik7CiAgICAgICAgICAgIG5ld1N0YWNrLnBlZWsoKTsKCi8vRGlzcGxheSB0aGUgRnVsbCBTdGFjawogICAgICAgICAgICBuZXdTdGFjay5kaXNwbGF5KCk7Ci8vVGVzdCByZW1vdmluZyBhIHZhbHVlIHVzaW5nIHBvcCBtZXRob2QKICAgICAgICAgICAgbmV3U3RhY2sucG9wKCk7CgogICAgICAgICAgICBuZXdTdGFjay5kaXNwbGF5KCk7CiAgICAgICAgICB9Cn0KY2xhc3MgU3RhY2t4IHsKICAgICAgICBwcml2YXRlIGludCBtYXhTaXplOyAvL251bWJlciBvZiBpdGVtcyBpbiBzdGFjawogICAgICAgIHByaXZhdGUgU3RyaW5nW10gc3RhY2tBcnJheTsKICAgICAgICBwcml2YXRlIGludCB0b3A7IC8vIHRvcCBvZiBzdGFjawoKICAgIHB1YmxpYyBTdGFja3goaW50IGFycmF5U2l6ZSkgewogICAgICAgIG1heFNpemUgPSBhcnJheVNpemU7CiAgICAgICAgc3RhY2tBcnJheSA9IG5ldyBTdHJpbmdbbWF4U2l6ZV07CiAgICAgICAgdG9wID0gLTE7CiAgICB9CgogICAgcHVibGljIHZvaWQgcHVzaChTdHJpbmcgYSkgeyAgICAvL3B1dCB2YWx1ZSBvbiB0b3Agb2Ygc3RhY2sKICAgICAgICBpZiAodG9wID09IG1heFNpemUgLSAxKSAKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3RhY2sgaXMgZnVsbCIpOwogICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICB0b3AgPSB0b3AgKyAxOwogICAgICAgICAgICBzdGFja0FycmF5W3RvcF0gPSBhOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIHBvcCgpIHsgICAgICAgICAgICAgIC8vdGFrZSBpdGVtIGZyb20gdG9wIG9mIHN0YWNrCiAgICAgICAgaWYgKCFpc0VtcHR5KCkpCiAgICAgICAgICAgIHJldHVybiBzdGFja0FycmF5W3RvcC0tXTsgLy8gYWNjZXNzIGl0ZW0sIGRlY3JlbWVudCB0b3AKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdGFjayBpcyBFbXB0eSIpOwogICAgICAgICAgICB0aHJvdyBudWxsOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgU3RyaW5nIHBlZWsoKSAgICAgICAgICAgICAgIC8vcGVlayBhdCB0aGUgdG9wIG9mIHRoZSBzdGFjawogICAgewogICAgICAgIHJldHVybiBzdGFja0FycmF5W3RvcF07CiAgICB9CgogICAgcHVibGljIGJvb2xlYW4gaXNFbXB0eSgpIHsgICAgICAvL3RydWUgaWYgc3RhY2sgaXMgZW1wdHkKICAgICAgICByZXR1cm4gdG9wID09IC0xOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIGRpc3BsYXkoKSB7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IHRvcDsgaSsrKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoc3RhY2tBcnJheVtpXSArICIgIik7CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgfQp9IC8vIEVuZCBjbGFzcyBzdGFja3g=