Подсажите правильно ли решена задача, написал первое, что пришло в голову и на удивление задача прошла проверку, но есть подозрение по поводу правильности кода, и корректности выполнения задачи при других вводных данных. Заранее извиняюсь, если решение действительно верное.
1. if (a < b & a < c ) return a;
2. if (b < a & b < c ) return b;
3. else return c;
Если первая строчка не выполняется то программа выполняет вторую строчку, со второй строкой таже логика, а вот оператор else выполняется только при несоблюдении условия во второй строке или в первой и второй вместе? И почему удаление "else" в третий строке не меняет результат вывода. Как работает эта java?)
UnNameD
16 уровень
Правильно ли решена задача
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
--------Master
2 апреля 2018, 17:32
В данном случае else относится ко второму if, а для того, чтобы выполнялся при несоблюдении обоих условий, используется такая конструкция:
Решение не совсем правильное в том плане, что в случае чисел 1, 1, 100 у тебя будет возвращено именно 100 - нигде не учитывается возможное равенство переменных.
+2
UnNameD
3 апреля 2018, 06:41
Получается, если нет явного "else" то прорамма просто переходит на следующую строчку? А почему в моем примере, если убрать "else", то ничего не меняется, обсолютно тот же результат вывода, хотя по логике всегда должно выводиться "c", или просто при соблюдении условий выше программа просто не доходит до выполнения строки 3. Хочу разобраться как это работает.
0
Roman Java Developer Expert
3 апреля 2018, 07:59решение
После выполнения return метод прекращает работу.
+2
Oleg Solovichenko
5 апреля 2018, 20:34
это логическое И &, нужно &&. Но тут мы еще не проходили это.
0