Не поняла про сравнении a и b. Пока писала без второго return b, говорил, что ошибка, забыли return. Когда приписала от балды второй return b, вдруг заработало. Но я не понимаю, почему.
public static int min(int a, int b) {
if (a < b) return a;
else if (b < a) return b;
return b;
Anonymous #1942809
2 уровень
Не поняла, зачем второй return
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #1966175
15 ноября 2018, 03:51
В данной настройке после else достаточно было указать return b;, тогда третий return не понадобился. Второе if уже лишнее, либо для него также нужно определять else.
0
Sergey Simonov Java Developer в МТС Умный дом
14 ноября 2018, 12:49
дело в том что если оба условия не сработают, то программа застопориться так как не поймет что ей в таком случае возвращать, а возвращать что то точно надо - и это что то int; так что компилятор ни за что это не примет без последней строчки.
но если бы else было безусловным, то второй возврат b был бы недостижимым кодом (unreacheble statement)
0
Anatoliy
14 ноября 2018, 12:31
что вернула бы функция без третьего return, если вызвать min(10,10) ?
0