28 lines
653 B
Java
28 lines
653 B
Java
public class Recursion {
|
|
|
|
public static void main(String[] args) {
|
|
if(args.length > 0) {
|
|
displayFactorial(Integer.parseInt(args[0]));
|
|
return;
|
|
}
|
|
|
|
System.out.println("Usage: java Recursion <number>");
|
|
}
|
|
|
|
public static void displayFactorial(int n) {
|
|
System.out.println(n + "! = " + factorial(n, 0));
|
|
}
|
|
|
|
private static int factorial(int n, int count) {
|
|
count++;
|
|
System.out.println("n = " + n + " | count = " + count);
|
|
|
|
if(n == 0) {
|
|
//Thread.dumpStack();
|
|
return 1;
|
|
}
|
|
|
|
return n * factorial(n - 1, count);
|
|
}
|
|
}
|