出力は正しいものの、ファクタの最後に表示されています(無限ループ)。私は再帰メソッドの内部にwhile
ループの何かが間違っていることを知っていますが、私はそれが何であるかわかりません。最終的な回答を得た後で再帰呼び出しを停止するにはどうすればよいですか? while
ループの代わりに何を使用すればよいですか?再帰的メソッドを使用したファクタの取得
public static void main() {
int num;
System.out.print("\fInput:");
num = kb.nextInt();
int temp = 1;
factors(num, temp);
}
public static void factors(int num, int temp) {
int count = 2;
while (temp != num) {
if ((num % count) == 0) {
System.out.print(count + " * ");
factors(num/count, temp * count);
} else
count++;
}
}
あなたが何をしたいか、あなたのコードは何をするのか? – meJustAndrew
私は与えられた数の要因を取得して表示する必要があります。 – wannabe
さて、あなたの答えに実際の例がありますが、これを行う方法はたくさんありますが、特定の解決方法を探していないのであれば、カール氏はこれで十分です。 – meJustAndrew