@crystalclear515

Почему не выводятся не корректные результаты в квадратном уравнении?

Объясните пожалуйста, почему в моей программе на поиск квадратного уравнения при вводе значении 1, -3, -4 вместо вывода корней 4.0 и -1.0 выводит "-0.08113883008418976 и 3.08113883008419"

double a = readDouble("Please enter a: ");
        double b = readDouble("Please enter b: ");
        double c = readDouble("Please enter c: ");


        double discriminant = (b * 2) - 4 * (a * c);

        if (discriminant > 0) {
            double r1, r2, sqrtDisc;
            sqrtDisc = Math.sqrt(discriminant);

            r1 = ((-b - sqrtDisc) / (2 * a));
            r2 = ((-b + sqrtDisc) / (2 * a));

            println("There is two roots: " + r1 + " and " + r2);


        } else if (discriminant == 0) {
            double r;
            r = (-b / (2 * a));
            println("There is one root: " + r);
        } else if (discriminant < 0) {
            println("No roots");
        }
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Почему выводятся некорректные результаты в квадратном уравнении?
double discriminant = (b * 2) - 4 * (a * c);

Потому что в этом месте должно быть не b * 2, а b2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы