1

最近、再帰 (Java で) を使用して入力フレーズを反転し、それを出力するプログラムを作成するように依頼されました。たとえば、「THIS IS A SENTENCE」という入力が与えられた場合、プログラムは「SENTENCE A IS THIS」を出力します。

ただし、割り当てには、再帰関数内の単一のローカル文字列変数を除いて、ストレージまたは Java コレクションを使用できないことも記載されています。したがって、Java スタックは入力からのすべての単語を保持します。

私が直面している問題は、再帰を適切に実装することです。String 変数をローカルで宣言すると、以前に保存した値が上書きされるため、再帰呼び出しを中断せずにローカル変数を実装する方法がよくわかりません。誰かが私を正しい方向に向けることができれば、本当に感謝しています. ありがとう!

4

1 に答える 1

1

これは正しいロジックのように見えますが、else ブロックは単にローカル変数に値を格納するのではなく値を返す必要があることを除けば、

return reversePhrase(scanner) + string;

スペースを追加することもできます。

return reversePhrase(scanner) + " " + string;
于 2013-02-03T20:44:14.570 に答える