2

文字列を逆にする再帰メソッドを書くように求められています。Sentenceという名前のプライベート文字列変数を持つクラスがありますtextSentenceプログラムは、オブジェクトを作成してメソッドを呼び出すことにより、別のメイン クラスで実行されます。メソッドの戻り値の型を変更できません。私はしばらくこれに取り組んできましたが、どこにも行きません。ヘルプやアドバイスをいただければ幸いです。

public void reverse() {
    if (text.length() <= 1) {
         return;
    }

    Sentence x = new Sentence(text.substring(1));
    recur = text.substring(0, 1); //recur is another String variable I declared
    text =  x.text.concat(recur);
    x.reverse();
}
4

1 に答える 1

3

あなたはかなり近いです。私が見る限り、これらの2つの行を入れ替えると、これは機能するはずです。

text =  x.text.concat(recur);
x.reverse();

xまた、との代わりに意味のある変数名を考え出すようにしてくださいrecur。これにより、他の人(そしてあなた!)があなたのコードを理解しやすくなります。例えば:

public void reverse() {
    if (text.length() <= 1)
        return;

    String firstChar = text.substring(0, 1);

    Sentence rest = new Sentence(text.substring(1));
    rest.reverse();

    text = rest.text.concat(firstChar);
}
于 2012-09-23T17:44:37.093 に答える