-6
public class ggg
{
static int y=0;
static int x;

static String h;
public static void main(String [] args)
{

    String s = "hadoyef";
    x = s.length();
    System.out.println(s);
    reverse(s);
    System.out.println(s);
}

public static String reverse(String s){

    if (s.length() == 1){
        //System.out.print(s);
        h = h + s.substring(0,1);
        s=h;
        System.out.println(s);
        return s;
    }
    else{
        h = h + s.substring(s.length()-1,s.length());
        return reverse (s.substring(0, s.length()-1));  

        //System.out.print(s.substring(0,1));

    }
}
}

s=h; の理由がわかりません。部分が機能していません。ここからは無視して、詳細を投稿し、何を言うべきかを判断するので、助けてくれた人に感謝します。

4

3 に答える 3

3

コードに 2 つの変更が必要です。

  1. 静的文字列 h を次のように初期化します。

    static String h = "";
    
  2. main メソッドで戻り値を次のように使用します。

    s = reverse(s);
    
于 2013-04-08T22:22:38.977 に答える
1

メソッド reverse(s); の結果を使用していないためです。使用されていないときに文字列を返すのはなぜですか?

于 2013-04-08T22:16:56.193 に答える