import java.io.*;
class Node
{
    public int data;
    public Node next;
    public Node(int x)
    {
        data=x;
    }
    public void display()
    {
        System.out.println(data+" ");
    }
}
class Stacker
{
    public Node first;
    public Stacker()
    {
        first=null;
    }
    public boolean isEmpty()
    {
        return(first==null);
    }
    public void push(int value)
    {
        Node newnode=new Node(value);
        newnode.next=first;
        first=newnode;
    }
    public int pop()
    {
        if(isEmpty())
        {
            System.out.println("\n Stack is Empty...");
            return 0;
        }
        else
        {
            int r1=first.data;
            first=first.next;
            return r1;
        }

    }
    public void display()
    {
        Node current=first;
        while(current!=null)
        {
            System.out.print(" "+current.data);
            current=current.next;
        }
        System.out.println("");
    }
}
class StackList
{
    public static void main(String arg[]) throws IOException
    {
        Stacker a1=new Stacker();
        int ch;
        while((boolean)true)
        {
            System.out.println("Select 1.Push 2.Pop 3.Display 4.Exit");
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            ch=Integer.parseInt(br.readLine());
            if(ch==4)
                break;
            else
            {
                switch(ch)
                {
                case 1:
                    System.out.println("Enter number of elements to push: ");
                    int n1=Integer.parseInt(br.readLine());
                    System.out.println("\nEnter elements: ");
                    for(int i=0; i<n1; i++)
                    {
                        a1.push(Integer.parseInt(br.readLine()));
                    }
                    break;
                case 2:
                    System.out.println("\nEnter the number of elements to pop: ");
                    int n2=Integer.parseInt(br.readLine());
                    for(int i=0; i<n2; i++)
                    {
                        System.out.println(a1.pop()+" is poped from stack... ");
                    }
                    break;
                case 3:
                    System.out.println("\nThe current stack items:");
                    a1.display();
                    break;
                default:
                    break;
                }
            }
        }
    }
}

 

OUTPUT:

 

C:\java>javac StackList.java

C:\java>java StackList
Select 1.Push 2.Pop 3.Display 4.Exit
1
Enter number of elements to push:
3

Enter elements:
10
20
30
Select 1.Push 2.Pop 3.Display 4.Exit
3

The current stack items:
 30 20 10
Select 1.Push 2.Pop 3.Display 4.Exit
2

Enter the number of elements to pop:
1
30 is poped from stack...
Select 1.Push 2.Pop 3.Display 4.Exit
3

The current stack items:
 20 10
Select 1.Push 2.Pop 3.Display 4.Exit
4

C:\java>