Java Program to Find the Roots of Quadratic Equation

• Difficulty Level : Medium
• Last Updated : 04 Dec, 2020

The roots of a function are the x-intercepts. By definition, the y-coordinate of points lying on the x-axis is zero. Therefore, to find the roots of a quadratic function, we set f (x) = 0, and solve the equation, ax2 + bx + c = 0.

Conditions for a quadratic equation –

ax^2 + bx + c = 0

where
a, b, c are real numbers and cannot be zero ie, there value must be from {-∞ to -1} and {1 to ∞}

A mathematical formula for finding the roots of a quadratic equation –

roots = (-b ± √(b2-4ac)) / (2a)

± represents there are two roots.

The roots of the quadratic equations are –

first = (-b + √(b2-4ac)) / (2a)
second = (-b - √(b2-4ac)) / (2a)

The (b^2 – 4ac) which is the determinant, tells us about the nature of the roots –

1. if (b^2 – 4ac) > 0, roots are real and different
2. if (b^2 – 4ac) == 0, roots are real and equal
3. if (b^2 – 4ac) < 0, roots are complex and different

Code to find roots of a quadratic equation:

Java

 // Java program to find the roots of// quadratic equation  public class Main {      public static void main(String[] args)    {          // value of the constants a, b, c        double a = 7.2, b = 5, c = 9;          // declared the two roots        double firstroot, secondroot;          // determinant (b^2 - 4ac)        double det = b * b - 4 * a * c;          // check if determinant is greater than 0        if (det > 0) {              // two real and distinct roots            firstroot = (-b + Math.sqrt(det)) / (2 * a);            secondroot = (-b - Math.sqrt(det)) / (2 * a);              System.out.format(                "First Root = %.2f and Second Root = %.2f",                firstroot, secondroot);        }          // check if determinant is equal to 0        else if (det == 0) {              // two real and equal roots            // determinant is equal to 0            // so -b + 0 == -b            firstroot = secondroot = -b / (2 * a);              System.out.format(                "First Root = Second Root = %.2f;",                firstroot);        }          // if determinant is less than zero        else {              // roots are complex number and distinct            double real = -b / (2 * a);              double imaginary = Math.sqrt(-det) / (2 * a);              System.out.printf("First Root = %.2f+%.2fi",                              real, imaginary);            System.out.printf("\nSecond Root = %.2f-%.2fi",                              real, imaginary);        }    }}
Output
First Root = -0.35+1.06i
Second Root = -0.35-1.06i

My Personal Notes arrow_drop_up