Java: Решение квадратного уравнения с вещественными числами используя epsilon

По условию задачи требуется прочитать 3 вещественных коэффициента и рассчитать квадратное уравнение, при этом коэффициенты и дискриминант нужно сравнивать через эпсилон. Преподаватель говорит что в коде ошибки, сломал уже голову, прощу помощи

import java.util.Scanner;

public class QuadraticEquation {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Введите коэффициент А:");
        double coefficientA = scanner.nextDouble();

        System.out.println("Введите коэффициент B:");
        double coefficientB = scanner.nextDouble();

        System.out.println("Введите коэффициент C:");
        double coefficientC = scanner.nextDouble();

        double epsilon = 1.0e-10;

        if (Math.abs(coefficientA) >= epsilon) { // coefficientA != 0
            double discriminant = Math.pow(coefficientB, 2) - 4 * coefficientA * coefficientC;

            if (discriminant < -epsilon) { // discriminant < 0
                System.out.println("Дискриминант меньше 0, действительных корней нет");
            } else if (Math.abs(discriminant) < epsilon) { // discriminant == 0
                double x = -coefficientB / 2 * coefficientA;
                System.out.printf("Корень один, X = %.2f", x);
            } else {
                double x1 = (-coefficientB + Math.sqrt(discriminant)) / (2 * coefficientA);
                double x2 = (-coefficientB - Math.sqrt(discriminant)) / (2 * coefficientA);
                System.out.printf("Корней два, X1 = %.2f X2 = %.2f", x1, x2);
            }
        } else {
            if (Math.abs(coefficientB) >= epsilon) { // coefficientB != 0
                double x = -coefficientC / coefficientB;
                System.out.printf("Корень Х = %.2f", x);
            } else {
                if (Math.abs(coefficientC) < epsilon) { // coefficientC == 0
                    System.out.println("Корнями могут быть любые действительные числа, т.к. все коэффициенты равны 0");
                } else {
                    System.out.printf("Корней нет, т.к. %f не равен 0. Решения нет.", coefficientC);
                }
            }
        }
    }
}

Ответы (1 шт):

Автор решения: MBo

Вот это чего такое??

double x = -coefficientB / 2 * coefficientA;

Должно быть

double x = -coefficientB / (2 * coefficientA);
→ Ссылка