// 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 );
}
}
Back to Lesson 13 Examples
Back to Java Main Page