2013-11-27 4 views
0
public static String doLogic(){ 
    if (something){ 
     return input; 
    } else { 
     ... 
    } 
    //No return here. 
} 

Как бы я это сделал? Я знаю, что я мог сделатьВозвратитесь в выражении if?

int result = input; 

В, если заявление и вернуть его после того, как, но я не хочу, чтобы сделать это.

Предложения?

Редактировать: Чтобы быть более ясным, я также не хочу, чтобы в другом оставался оператор return, поскольку цель заключается в повторном запуске метода.

+3

Вы также можете вернуться в if и else. –

+0

Каков ваш вопрос/проблема? –

+0

Я бы любезно предложил реформировать ваш вопрос. Непонятно, что вы просите ... –

ответ

0

Код, который вы опубликовали, будет работать нормально, вам нужно включить TWO-возврат, один внутри оператора if и один за его пределами, иначе java будет кричать на вас. Но это правильный способ решить проблему, о которой вы просите.

так в вашем случае, это было бы:

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

Или, если вы хотите возвращение быть полностью охватывается внутренняя часть, если/другое для проблем читаемости, вы могли бы включать в себя возвращение в том и else of условный, который также является приемлемым форматом java, например:

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

} 
+1

Или, как указывает @DennisMeng, один в предложении 'if' и один в предложении' else'. – Keppil

+0

Хороший момент, я отредактирую свой ответ – WillBD

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"; 
    } 
} 
0

вы можете сделать это

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

    //do something else 
    return input; 

} 

, который заменит else statment. Таким образом вам не нужно будет определять другую переменную result.

Смежные вопросы