Skip to content
Related Articles

Related Articles

Java Program to Find the Roots of Quadratic Equation
  • Difficulty Level : Expert
  • 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

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
        }
    }
}

chevron_right


Output

First Root = -0.35+1.06i
Second Root = -0.35-1.06i

 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :