1

次の方法がありますが、再帰を使用したいです。ただし、「return ステートメントがありません」というエラーが表示されます。

static String buscar(NodoDeArbol raiz, String letra) {
    if(raiz == null) {
        aux="";
        for (int i = 0; i < auxiliar.length()-1; i++) {
            aux+=auxiliar.charAt(i);
        }
        return aux;
    }
    auxiliar = buscar(raiz.izquierdo, auxiliar+= "0");
    auxiliar = buscar(raiz.derecho, auxiliar+= "1");
}

これを修正するにはどうすればよいですか?

4

4 に答える 4

3

いくつかのエラーがあります

  • まず、定義していませんaux(おそらくグローバルですか?)
  • 次に、次の場合に値を返す必要がありますraiz != null
于 2013-04-10T21:42:15.350 に答える
2

ケースが null の場合は文字列のみを返しますが、ケースが null でない場合は何も返しません。

すべてのケースを処理する必要があります。return メソッド (文字列) は、何らかの値を返さなければなりません。

于 2013-04-10T21:40:54.130 に答える
1

間違っているのは、raiz が null の場合にのみ返すことです。パラメーター raiz を取得すると、null ではありません。メソッドは決して終了しません。if ステートメントの外に return がないためです。

于 2013-04-10T21:41:25.043 に答える