package com.javarush.task.task02.task0216;
public class Solution {
public static int min(int a, int b, int c) {
if (a < b)
{
if (b < c)
return a;
}
else if (b < a)
{ if (a < c)
return b;
}
else
return c;
}
public static void main(String[] args) {
System.out.println(min(1, 2, 3));
System.out.println(min(-1, -2, -3));
System.out.println(min(3, 5, 3));
System.out.println(min(5, 5, 10));
}
}
Kanan
2 уровень
В чём ошибка?
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр
22 июня 2019, 07:32
Потому что мы сравниваем одинаковые значения (3, 5 , 3) , (5, 5, 10), знак сравнения должен быть меньше либо ровно.
0
vivise
21 июня 2019, 16:25
Надо проверять не только < число, но и <= число, т.к у вас может быть несколько одинаковых чисел с минимальным значением
+2
СанекExpert
21 июня 2019, 10:03
Вроде как работает код.
Видимо валидатору не нравится, что происходит присвоение значений в методе.
Он порой крайне придирчив :)
0
Kanan
21 июня 2019, 09:15
1)
if (a < b && a < c)
return a;
else if (b < c )
return b;
else
return c;
2)
if (a < b) b = a;
if (b < c) c = b;
return c;
Я пишу так и проходит,но мне интересно и не понятно почему этот вариант не берёт?
0