1 // Application using a recursively defined method 2 3 public class Factorial 4 { 5 static final long MAX = 10; 6 7 public static void main (String[] args) 8 { 9 for ( long i = 0; i <= MAX; i++) 10 System.out.println(i + "! = " + factorial(i)); 11 } 12 13 static private long factorial(long number) 14 { 15 if (number <= 1) 16 return 1; //base case 17 else 18 return number * factorial(number - 1); 19 } 20 21 } 22