Java program – Stack of strings (array)

by Nideesh C on April 29, 2011 · 0 comments

in Java Programming




import java.util.Iterator;

public class ArrayStackOfStrings implements Iterable<String> {
    private String[] a;  // holds the items
    private int N;       // number of items in stack

    public ArrayStackOfStrings(int max) {  a = new String[max];       }
    public boolean isEmpty()            {  return (N == 0);           }
    public void push(String item)       {  a[N++] = item;             }
    public String pop()                 {  return a[--N];             }
    public Iterator<String> iterator()  { return new ArrayIterator(); }

    public class ArrayIterator implements Iterator<String> {
        private int i = N-1;

        public boolean hasNext() { return i >= 0; }
        public String next()     { return a[i--]; }
        public void remove()      { throw new UnsupportedOperationException(); }
    }

    public static void main(String[] args) {
        int max = Integer.parseInt(args[0]);
        ArrayStackOfStrings stack = new ArrayStackOfStrings(max);
        while (!StdIn.isEmpty()) {
            String item = StdIn.readString();
            if (!item.equals("-")) stack.push(item);
            else if (stack.isEmpty())  StdOut.println("BAD INPUT");
            else                       StdOut.print(stack.pop() + " ");
        }
        StdOut.println();

        // print what's left on the stack
        StdOut.print("Left on stack: ");
        for (String s : stack) {
            StdOut.print(s + " ");
        }
        StdOut.println();
    }
} 


/*************************************************************************
 *  Execution:    java ArrayStackOfStrings
 *
 *  Stack of strings implementation with a fixed-size array.
 *
 *  % more tobe.txt
 *  to be or not to - be - - that - - - is
 *
 *  % java ArrayStackOfStrings 5 < tobe.txt
 *  to be not that or be
 *
 *************************************************************************/



Not Satisfied ? Just search & get the result

Related Posts Plugin for WordPress, Blogger...
Be Sociable, Share!

Related posts:

  1. Java program – Array I/O library
  2. Java program – Counter
  3. Java program – Interactive user input
  4. Java program – A simple filter
  5. Java program – Percolation scaffolding

Leave a Comment

Previous post:

Next post: