Что не так?
Double first_side = (Double) parameters.get(0);
Double second_side = (Double) parameters.get(1);
Double third_side = (Double) parameters.get(2);
assertTrue((first_side = Math.sqrt(second_side * second_side + third_side * third_side)) ||
(second_side = Math.sqrt(first_side * first_side + third_side * third_side)) ||
(third_side = Math.sqrt(first_side * first_side + second_side * second_side))
);
Для сравнения значений надо использовать ==
, а не =
. Код будет таким:
assertTrue((first_side == Math.sqrt(second_side * second_side + third_side * third_side)) ||
(second_side == Math.sqrt(first_side * first_side + third_side * third_side)) ||
(third_side == Math.sqrt(first_side * first_side + second_side * second_side))
);
Однако, не смотря на то, что код будет компилироваться, результат работы может отличаться от ожидаемого.
Из за плавающей запятой сравнение двух одинаковых чисел double
на равенство может возвращать false
.
Подробнее в вопросе Вычисления на числах с плавающей точкой не работают
Ваша проблема в том, что нельзя логическую операцию выполнить над числами, логические операции выполняются на boolean(false,true). Функция assertTrue принимает boolean переменную, вы же пытаетесь туда засунуть double.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
После maven стал изучать gradle и столкнулся с проблемой, не получается сделать деплой проекта (gradle 43
Как создать PageControl хотя бы подобный тому что на картинке, а вообще надо сделать "ползунком"