public class Appel{ public static int fact(int a, int indentation) { int i; for (i = 0; i < indentation; i++) System.out.print(" "); System.out.println("argument ="+a); if (a == 1) { return 1; } else { int res = a * fact(a-1, indentation+1); for (i = 0; i < indentation; i++) System.out.print(" "); System.out.println("resultat ="+res); return res; } } public static void main(String[] argv){ if (argv.length < 1){ System.err.println("manque un nombre pour le calcul"); } else { int ind = 0; int n = Integer.parseInt(argv[argv.length-1]); int res = fact(n, ind); System.out.println(n+"! = "+res); } } }