@Chesterfield25

Как вернуть самое большое число?

Мы создали метод getResult().

Метод должен принять два числа: a и b. Далее он сравнит результаты выполнения операций между числами и вернет наибольший тип double:

a + b
a - b
a * b
a/b
Например, если a = 10 и b = -5, то:

a + b = 5.0
a – b = 15.0
a*b = -50.0
a/b = -2.0
Метод вернет наибольший результат: 15.0

Пустой метод

public class GetLargestExpressionResult {
  public static double getResult(double a, double b) {
    //Write code below this line

    //Write code above this line
  }
}


Далее я объявляю переменную result с значениями переменной a и b.
Но как подсчитать все операции и вернуть в return самое большое значение с типом double не пойму?
public class GetLargestExpressionResult {
  double result = getResult(10, -5);
  public static double getResult(double a, double b) {
    //Write code below this line

    //Write code above this line
  }
}
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
@barsty
public static double getResult(double a, double b) {
        // Создаем лист из результатов выражений 
        List<Double> array = List.of(a + b, a - b, a * b, a / b);
        // Возвращаем максимальное значение из списка
        return array.stream().max(Double::compareTo).get();
    }

UPD:
public static double getResult(double a, double b) {
        double maxA = Double.max(a + b, a - b);
        if (b == 0) {
            return maxA;
        }
        return Double.max(maxA, Double.max(a * b, a / b));
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы