3
複数の行を印刷するための再帰メソッドを使用するように割り当てられています。各行の前に3個分のスペースがあります。ここに希望の出力の画像があります(http://i.imgur.com/mek2QMz.png)。再帰メソッド付きのネストされたインデント付き出力
これはコードである私がこれまでしている:私はスペースを作る方法を知っている
public class Prog6d {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int input = scan.nextInt();
System.out.println(printFactorial(input));
}
//Calculates the factorial
public static int printFactorial(int input) {
if (input == 1) {
return 1;
}
System.out.println("factorial(" + input + ")");
System.out.print(" ");
return input*printFactorial(input-1);
}
}
が正しくforループ使用して表示されますが、私は再帰でこれを行う方法は考えています。
グローバル変数を避けると、プログラムのデバッグに苦労することがないので、アプローチ番号1よりもアプローチ2をお勧めします。あなたの呼び出しをtail-recursiveにする場合、パラメータ化されたバージョンも同様に効率的でなければなりません。 – Davislor