// Textbook fragment 02.04 /** * Geometric Progression */ class GeomProgression extends Progression { /** Base. */ protected long base; // Inherits variables first and cur. /** Default constructor setting base 2. */ GeomProgression() { this(2); } /** Parametric constructor providing the base. * * @param b base of the progression. */ GeomProgression(long b) { base = b; first = 1; cur = first; } /** Advances the progression by multiplying the base with the current value. * * @return next value of the progression */ protected long nextValue() { cur *= base; return cur; } // Inherits methods firstValue() and printProgression(int). }