0

以下の再帰関数を実行しようとしています。ここにあります-

public static void Q3(int n) {
    if (n <= 0)
        return;
    StdOut.println(n);
    Q3(n-2);
    Q3(n-3);
    StdOut.println(n);
}

この関数の制御の流れを理解するのを手伝ってくれる人はいますか? この関数がどのように呼び出され、その後の再帰呼び出しで別の値がどのように出力されるかを試しましたが、理解できませんでした。また、Javaプログラムで関数を使用しようとすると、このエラーメッセージが表示されます-

Error:(19, 26) java: 'void' type not allowed here

エラーは次の行にあります-

StdOut.println(Q3(n));

関数呼び出しに使用するコードは次のとおりです-

 public static void main(String[] args) {
        int n = Integer.parseInt(args[0]);
        StdOut.println(Q3(n));
    }

関数の呼び出し中に私が犯した間違いと、エラーを回避するために代わりに呼び出す方法を誰かに教えてもらえますか?

4

1 に答える 1