再帰を実践しています(少なくとも、これは私がやろうとしていることです)。私の期待は、 "dlrow olleh"を11回印刷するコードですが、それは一度だけ印刷されます。理由は?再帰が機能しない
import java.lang.StringBuilder;
public class Practice {
public static void main(String[] args){
String str = "hello world";
int count = new StringBuilder(str).length();
System.out.print(backwards(str, count));
}
public static String backwards(String word, int letters){
while(letters>0){
return new StringBuilder(word).reverse().toString();
}
return backwards(word,letters-1);
}
}
あなたは持っているように見えますベースケースと再帰ケースを入れ替えました。また、再帰でwhileループを必要としないのは、再帰が – UnknowableIneffable
の場合ですが、ケースを入れ替える以外に、ここで再帰を使用することはありません。すべての再帰呼び出しは変数を減らしてからその値がゼロになるとき何か。代わりに、すぐにそのことをやり直してください。あなたが再帰を練習したい場合は、再帰を必要とする何かをしていることを確認してください:) –