Что не так?
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.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
После maven стал изучать gradle и столкнулся с проблемой, не получается сделать деплой проекта (gradle 43
Как создать PageControl хотя бы подобный тому что на картинке, а вообще надо сделать "ползунком"