// write a program that finds n! using recursion // 5! = 5 * 4 * 3 * 2 * 1 // you could write this program without recursion, using a loop // recursion: an object creates other similar objects, or a method // calls itself /* 5! = 5 * 4!. 4! = 4 * 3!. 3! = 3 * 2!. 2! = 2 * 1. */ public class Factorial { public int fact(int num) { int temp = 0; // base case is where the recursion ends if (num == 1) return 1; else { temp = num * fact(num - 1); System.out.println("temp: " + temp); return temp; } } public static void main(String [] args) { Factorial f = new Factorial(); int num = 5; int result = f.fact(num); System.out.println(num + "! = " + result); } }