Write a program that uses a stack to reverse its inputs.Your stack must be generic and you must demonstrate that it accepts both String and Integer types.Your stack must implement the following methods:
- isEmpty (returns true if the stack is empty and false otherwise), and
- size (returns an integer value for the number of items in the stack).
You may use either an ArrayList or a LinkedList to implement your stack.Also, your pop method must throw an IndexOutOfBoundsException if the user attempts to â€œpopâ€ something off an empty stack.Name your stack class â€œStackâ€ and put it in a file named Stack.java.
Create a StackTest.java file to demonstrate all of the methods of your stack.Instantiate two stacks; one for String and one for Integer.Push words/integers onto your stack.After you have pushed a series of words/integers on your stack use a while loop to pop and print each item.If your stack is working properly your inputs should print in reverse order.Be sure that you calls to pop are in a try statement and will catch the IndexOutOfBoundsException, if thrown.
Note: Java has a Stack class, but you may not use it.You must create your own Stack class and your class must have the following operations (all of which must be demonstrated): push, pop, isEmpty, and size.
Here is an example screen shot of a working stack that reverses words and integers:
Make sure that your screen shot(s) show your program running and that your runtime display shows that your program does all that is required of it.You only get credit for what you demonstrate.
Submit this assignment by 11:59 p.m. (ET) on Friday of Module/Week 8.