// Fig. 4.12: FactorialTest.java // Recursive factorial method import java.awt.Graphics; import java.applet.Applet; public class FactorialTest extends Applet { public void paint( Graphics g ) { int yPosition = 25; for ( long i = 0; i <= 10; i++ ) { g.drawString( i + "! = " + factorial( i ), 25, yPosition ); yPosition += 15; } } // Recursive definition of method factorial public long factorial( long number ) { if ( number <= 1 ) // base case return 1; else return number * factorial( number - 1 ); } }