Java stack examples: a solution


import java.util.Stack;
import java.util.Random;

public class TestStack {
        public static void main(String [] args){
                // create a new stack of strings
                Stack<String> stack = new Stack<String>();

                // push some strings onto the stack
                stack.push("apple");
                stack.push("banana");
                stack.push("kiwi");

                // Java allows you to print the entire stack
                System.out.println(stack);

                System.out.println(stack.empty());

                // pop the stack until it becomes empty
                while (!stack.empty()) {
                        System.out.println(stack.pop());
                }

                // create a new stack of integers
                Stack<Integer> stackInt = new Stack<Integer>();
                stackInt.push(1);

                // peek at the top element, but keep it on the stack
                System.out.println(stackInt.peek());

                // the stack is not empty
                System.out.println(stackInt.empty());

                // empty the stack
                int n = stackInt.pop();

                System.out.println(n);

                System.out.println(stackInt.empty());

                // write a loop to store 100 random elements on the stack
                // the random elements are between 1 and 10 inclusive
                Random r = new Random();
                for(int i = 0; i <100; i++){
                        stackInt.push(r.nextInt(10) + 1);
                }
                System.out.println(stackInt);
                lessThanSix(stackInt);
                System.out.println(stackInt);
        }

        // write a method to remove all elements from the stack that
        // are > 5. Do not change the order of the remaining elements.
        public static void lessThanSix(Stack<Integer> stack) {
                Stack<Integer> tempStack = new Stack<Integer>();
                while(!stack.empty()){
                        tempStack.push(stack.pop());
                }
                while (!tempStack.empty()){
                        int element = tempStack.pop();
                        if (element < 6) {
                                stack.push(element);
                        }
                }
                System.out.println(tempStack);
        }
}

CSci 2101 course web site.