;

# Java Program to Find all Roots of a Quadratic Equation

###### Tutorialsrack 19/04/2021 Java

In this java program, you’ll learn how to find all the roots of a quadratic equation and print them using `format()` in Java.

## What is the Quadratic Equation?

In algebra, a quadratic equation is an equation that can be rearranged in standard form as

ax²+bx+c = 0

where x represents an unknown, and a, b, and c represent known numbers, where a ≠ 0. If a = 0, then the equation is linear, not quadratic, as there is no ax2 term. The numbers a, b, and c are the coefficients of the equation and may be distinguished by calling them, respectively, the quadratic coefficient, the linear coefficient, and the constant or free term.

A Quadratic Equation has at most two solutions, and they depend entirely upon the discriminant.

• If the discriminant > 0, then two distinct real roots exist for this equation.
• If discriminant = 0, two equal and real roots exist.
• Or if discriminant < 0, two distinct complex roots exist.

### Java Program to Find all Roots of a Quadratic Equation

##### Java Program to Find all Roots of a Quadratic Equation
``````//Java Program to Find all Roots of a Quadratic Equation

import java.util.Scanner;

public class JavaPrograms {

public static void main(String[] args) {

double secondRoot = 0, firstRoot = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the value of a :");
double a = scanner.nextDouble();

System.out.println("Enter the value of b :");
double b = scanner.nextDouble();

System.out.println("Enter the value of c :");
double c = scanner.nextDouble();

scanner.close();

double determinant = (b * b) - (4 * a * c);
// check if determinant is greater than 0
if (determinant > 0) {

// two real and distinct roots
firstRoot = (-b + Math.sqrt(determinant)) / (2 * a);
secondRoot = (-b - Math.sqrt(determinant)) / (2 * a);

System.out.format("root1 = %.2f and root2 = %.2f", firstRoot, secondRoot);
}

// check if determinant is equal to 0
else if (determinant == 0) {

// two real and equal roots
// determinant is equal to 0
// so -b + 0 == -b
firstRoot = secondRoot = -b / (2 * a);
System.out.format("root1 = root2 = %.2f;", firstRoot);
}

// if determinant is less than zero
else {

// roots are complex number and distinct
double real = -b / (2 * a);
double imaginary = Math.sqrt(-determinant) / (2 * a);
System.out.format("root1 = %.2f+%.2fi", real, imaginary);
System.out.format("\nroot2 = %.2f-%.2fi", real, imaginary);
}
}
}``````
##### Output

Enter the value of a :

5

Enter the value of b :

5

Enter the value of c :

8

root1 = -0.50+1.16i

root2 = -0.50-1.16i