/* 自己再帰の例:fact2 は階乗を再帰的に計算する.*/ class Foo { public static void main (String[] args) { System.out.println(fact2(10)); } static int fact2 (int n) { if (n==0) { // n==0なら再帰呼び出ししない return 1; } else { return n*fact2(n-1); // fact2の中でfact2を呼び出す } // 本当は n<0 の場合の処理も書くべき } }