// Scott DeRuiter 7/16/01 // Hailstone.java // Use recursion to show the hailstone sequence. // 7/20/2011 - Greenstein: Changed TextReader to Scanner public class Hailstone { private int number; public Hailstone ( ) { number = 0; } public static void main ( String [] args ) { Hailstone hail = new Hailstone ( ); hail.GetNumber ( ); hail.PrintSequence ( ); } public void GetNumber ( ) { Scanner getinput = new Scanner ( System.in ); do { System.out.print ( "\n\n\nEnter an int (1 to 10000) -> " ); number = getinput.nextInt ( ); } while ( number < 1 || number > 10000 ); } public void PrintSequence ( ) { Hail ( number ); } public boolean Hail ( int n ) { System.out.print ( n + " " ); if ( n == 1 ) return true; else if ( n % 2 == 0 ) return Hail ( n / 2 ); else return Hail ( 3 * n + 1 ); } }