java中的这个方法有什么问题?我想要实现递归

java中的这个方法有什么问题?我想要实现递归,java,Java,我有以下方法,但我想使用递归;但是,我得到一个错误:“缺少返回语句” static String总线车(nododabol-raiz,String-letra){ if(raiz==null){ aux=“”; 对于(int i=0;i

我有以下方法,但我想使用递归;但是,我得到一个错误:“缺少返回语句”

static String总线车(nododabol-raiz,String-letra){
if(raiz==null){
aux=“”;
对于(int i=0;i

如何解决此问题?

当大小写为null时,只返回字符串,而当大小写为null时,不返回任何内容


你需要处理所有的案件。返回方法(字符串)必须返回某种类型的值。

仅在大小写为null时返回字符串,而在大小写不为null时不返回任何内容


你需要处理所有的案件。返回方法(字符串)必须返回某种类型的值。

错误是,仅当raiz为null时返回,当您获得参数raiz时,该参数不为null,该方法将永远不会结束-因为在if语句之外没有返回。

错误是,仅当raiz为null时返回,当您获得参数raiz时,该参数不为null,方法将永远不会结束-因为在if语句之外没有返回。有几个错误

  • 首先,您没有定义辅助(可能是全局的?)
  • 其次,当
    raiz!=空

    • 有几个错误

      • 首先,您没有定义辅助(可能是全局的?)
      • 其次,当
        raiz!=空

      您的if语句是唯一返回的语句。您需要为if语句中未包含的case添加return语句。仅从您当前的代码判断,我猜您打算使用
      return-auxiliar

      您的if语句只有一个返回。您需要为if语句中未包含的case添加return语句。仅从您当前的代码判断,我猜您打算使用
      return-auxiliar
      在方法末尾。

      如果方法的返回类型不是
      void
      ,则必须返回声明类型的内容。我还建议您将代码的相关部分发布到问题中。如果方法的返回类型不是
      void
      ,则必须返回声明类型的内容。我还建议您将代码的相关部分发布到问题中。
      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");
      }