import java.util.Vector; /** * RationalStack provides a stack collection of Rational objects */ public class RationalStack { private Vector _data = new Vector(); /** * pop will remove and return the Rational object from the top of the stack * @return the Rational at the top of the stack */ public Rational pop() { int sz = _data.size(); if (sz > 0) { Rational r = _data.remove(sz-1); return r; } return null; } /** * push will add a new Rational object to the top of the stack * @param value the Rational object to add to the stack */ public void push(Rational value) { _data.add(value); } /** * isEmpty will return true if there are no Rational elements on the stack * @return true if there are no Rational elements on the stack */ public boolean isEmpty() { return _data.isEmpty(); } /** * clear will remove all Rational objects from the stack */ public void clear() { _data.clear(); } /** * size returns the number of Rational objects in the stack * @return the number of Rational objects in the stack */ public int size() { return _data.size(); } }