// Scott DeRuiter 7/16/02 // Factorial.java // Use recursion to calculate a factorial. // 7/20/2011 - Greenstein: Changed TextReader to Scanner import java.util.Scanner; class Factorial { private int input; private long result; public Factorial ( ) { input = 0; result = 0; } public static void main ( String [] args ) { Factorial f = new Factorial ( ); f.GetPositiveInt ( ); f.FindAndPrint ( ); } public void GetPositiveInt ( ) { Scanner console = new Scanner ( System.in ); do { System.out.print ( "\n\nEnter an int (0 to 20) -> " ); input = console.nextInt ( ); } while ( input < 0 || input > 20 ); } public void FindAndPrint ( ) { result = fact ( input ); System.out.println ( "\n\n " + input + "! = " + result ); } public long fact ( int n ) { System.out.println ( n ); if (1 == n || 0 == n) return 1; else return (n * fact(n - 1)); } }