在if语句中返回?

时间:2013-11-27 21:19:00

标签: java return

public static String doLogic(){ 
    if (something){
        return input;
    } else {
        ...
    }
    //No return here.
}

我该怎么做? 我知道我能做到

int result = input; 

在if语句中,并在之后返回,但我不想这样做。

建议?

编辑: 为了更清楚,我也不想在else中使用return语句,因为它的目的是重新运行该方法。

3 个答案:

答案 0 :(得分:0)

你发布的代码工作得很好,你需要确保包含两个返回,一个在if语句中,一个在它外面,否则java会对你大喊大叫。但这是解决您所问的问题的正确方法。

所以在你的情况下,它将是:

public static String doLogic(){ 
    if (something){
        return input;
    } else {
        ...
    }
    return "";
}

或者,如果您希望将返回完全包含在if / else内部以获取可读性问题,则可以在条件的if和else中包含一个返回值,这也是可接受的java格式,如下所示:

public static String doLogic(){ 
    if (something){
        return input;
    } else {
        return "";
    }

}

答案 1 :(得分:0)

有很多方法可以给这只猫上皮。这是两个:

public static String doLogic(){ 
    if (something){
        return "something";
    }

    // The condition was not met, do something else
    return "something else";
}

有些人更喜欢使用if后跟else

public static String doLogic(){ 
    if (something){
        return "something";
    } else { 
        return "something else";
    }
}

答案 2 :(得分:0)

你可以这样做

public static String doLogic(){ 
if (something){
    //do something to the input 
    return input;
}

  //do something else 
  return input;

}

将取代else statment。这样您就不必定义另一个变量result