Подсмотрел решение в интернете, так как не мог решить самостоятельно несколько дней, сработало. Но, к сожалению, до конца не понял, как работает код.
Не понимаю, в частности следующие вещи:
min это оператор, правильно?
Зачем ставить min снаружи и внутри скобок, как именно это работает?
Где именно функция из 4 переменных использует функцию из двух и каким образом? (Так сказано в условии)
Спасибо.
Код:
package com.javarush.task.task02.task0217;
/*
Минимум четырех чисел
*/
public class Solution {
public static int min(int a, int b, int c, int d) {
return min(min (a,b), min (c,d));
}
public static int min(int a, int b) {
if (a <= b)
return a;
else
return b;
}
public static void main(String[] args) throws Exception {
System.out.println(min(-20, -10));
System.out.println(min(-40, -10, -30, 40));
System.out.println(min(-20, -40, -30, 40));
System.out.println(min(-20, -10, -40, 40));
System.out.println(min(-20, -10, -30, -40));
}
}
Сергей
3 уровень
Задачу решил, но не понял
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей
14 сентября 2020, 19:18
Большое спасибо за подробное объяснение.
0
дмитрий кузьмин Java Developer в openCBS
11 сентября 2020, 17:12решение
Сначала ты сравниваешь ab и cd ,затем результаты сравнения сравниваются ещё раз,пардон за тавологию.
+2
hidden #2322530
5 сентября 2020, 15:35
min это имя метода.
вызов метода выглядит так min(), если там есть аргументы то min(5,6)
метод может возвращать значение. в конкретном случае он возвращает минимальное число из 2х. именно в то место, где его вызвали.
то есть ты должен читать так:
почитай про сигнатуру метода, что делает метод.
этот код вызывает 3 раза метод min, потому он вне скобок. а внутри скобок передаются аргументы. первый это результат метода min(a,b) а второй аргумент это результат метода min(c,d)
0