package com.javarush.task.task02.task0217;
/*
Минимум четырех чисел
*/
public class Solution {
public static int min(int a, int b, int c, int d) {
int e;
if(min(a,b)<=c && min(a,b)<=d)
,,,,,,,,,,,,
return e;
//напишите тут ваш код
}
public static int min(int a, int b) {
int m;
...............
return m; //напишите тут ваш код
}
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));
}
}
Pro100_Elk
4 уровень
У меня единственный вопрос. Я не могу понять : - у меня две новые переменные для каждого метода, скажем int e ; и int m; почему переменная для метода с двумя значениями удовлетвояет для кампиляции , а переменная с четырьмя знаячениями при запуске требует проинициализировать int e =0;
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Афанасий
14 февраля 2020, 10:02
Можно было сделать намного легче:int e = min(a, min(b, min(c,d)));Проверено, работает.И это намного легче.
+1
Pro100_Elk
14 февраля 2020, 13:09
Спасибо, очень интерсный вариант инициализации. проверил - работает :) Для примера начал писать явную бессмыслицу и, онотоже работает int e =100 + min(a,b); . Но появляются вопросы о там как ты додумался до такой сложной инициализации.
0
IceBergMaster
14 февраля 2020, 09:44полезный
Ну так нужно смотреть, где они инициируются, а у тебя эти части скрыты.
+1
Pro100_Elk
14 февраля 2020, 15:17
Спасибо, натолкнул на мысль, все дело было в строении условного оператора. Получается если вложенные операторы if НЕ заканчиваются явным определением переменной типа "e=d;" то в объявлении переменной нужно обязательно объявить значение переменной , это для того , если не будет выполнено ни одно из условий.
0