package com.javarush.task.task02.task0217;
/*
Минимум четырех чисел
*/
public class Solution {
public static int min(int a, int b, int c, int d) {
int h;
if (c<d)
h = c;
else
h = d;
int g;
if (a<b)
g = a;
else
g = b;
int j;
if (g<h)
j=g;
else
j=h;
return j;//напишите тут ваш код
}
public static int min(int a, int b) {
int l;
if (a<b)
l = a;
else
l = b;
return l; //напишите тут ваш код
}
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));
}
}
Aleksey Kovalchuk
22 уровень
Не выполнено условие "Метод min(a, b, c, d) должен использовать метод min(a, b)". Помогите разобраться
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alex
7 мая 2020, 13:14решение
Давайте внимательно прочитаем условие "Метод min(a, b, c, d) должен использовать метод min(a, b)"
От 7 до 25-ой строки у вас нигде не используется метод min.
Замените конструкции с if на использование метода min c 2 параметрами.
Идеальным решением будет если в теле метода public static int min(int a, int b, int c, int d) будет всего одна строка. Это похоже на матрёшку.
Если не нашли решение после моих подсказок, то напишите под этим комментарием.
+2
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 13:36
Правильно ли я понял, в место "if" и "else" для (а и б) я указываю, например
int n;
n=min(a,b);
а дальше для с и д опять if и else?
0
Alex
7 мая 2020, 13:43
Для c и d вы снова можете использовать метод min.
Показать вам идеальное решение на мой взгляд?
0
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 13:44
Спасибо, но пока не надо, буду пробовать сам, если что попрошу Вас)
0
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 13:57решение
Спасибо, решил, вот мой код
public static int min(int a, int b, int c, int d) {
int min=min(min(a,b), min(c,d));
return min;
}
public static int min(int a, int b) {
int m1;
if (a<b)
m1 = a;
else
m1 = b;
return m1;
+2
Alex
7 мая 2020, 14:00полезный
Почти моё решение, но присваивать результат переменной min не обязательно. Можно сразу вернуть его:
return min(min(a, b), min(c, d));
+1
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 14:06
ок, в будущем учту Ваш пример
+1
Игорь Backend Developer
7 мая 2020, 13:13полезный
у тебя есть минимум 2 чисел и минимум 4
подумай как при сравнении 4 чисел использовать метод сравнения 2 чисел, чтобы не городить такой забор
+1
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 13:38
да я это пол часа думал, вроде код заработал, а тут условие не выполняется, если не сложно, то намекните, до этого в лекциях ничего подобного небыло
0
Aleksey Kovalchuk Software Developer в Artezio
7 мая 2020, 14:00
спасибо, уже решил, код выше
0