×

# Java program to find the roots of a quadratic equation

Given the sides, we have to find the roots of a quadratic equation.
Submitted by Nidhi, on February 26, 2022

## Problem statement

In this program, we will read the value of a, b, and c, and calculate the roots of a quadratic equation.

## Source Code

The source code to find the roots of a quadratic equation is given below. The given program is compiled and executed successfully.

```// Java program to find the roots

import java.util.Scanner;

public class Main {
static void calculateRoot(double a, double b, double c) {
double rootA = 0;
double rootB = 0;

double realp = 0;
double imagp = 0;
double disc = 0;

if (a == 0 || b == 0 || c == 0) {
System.out.printf("Error: Unable to determine roots\n");
return;
} else {
disc = b * b - 4.0 * a * c;
if (disc < 0) {
System.out.printf("Imaginary Roots\n");
realp = -b / (2.0 * a);
imagp = Math.sqrt(Math.abs(disc)) / (2.0 * a);
System.out.printf("Root1 = %f  +i %f\n", realp, imagp);
System.out.printf("Root2 = %f  -i %f\n", realp, imagp);
} else if (disc > 0) {
System.out.printf("Roots are real and distinct \n");
rootA = (-b + Math.sqrt(disc)) / (2.0 * a);
rootB = (-b - Math.sqrt(disc)) / (2.0 * a);
System.out.printf("Root1 = %f  \n", rootA);
System.out.printf("Root2 = %f  \n", rootB);
} else if (disc == 0) {
System.out.printf("Roots are real and equal\n");
rootA = -b / (2.0 * a);
rootB = rootA;
System.out.printf("Root1 = %f\n", rootA);
System.out.printf("Root2 = %f\n", rootB);
}
}
}

public static void main(String[] args) {
double a = 0;
double b = 0;
double c = 0;

Scanner X = new Scanner(System.in);

System.out.printf("Enter the values of a: ");
a = X.nextDouble();

System.out.printf("Enter the values of b: ");
b = X.nextDouble();

System.out.printf("Enter the values of c: ");
c = X.nextDouble();

calculateRoot(a, b, c);
}
}
```

### Output

```Enter the values of a: 2
Enter the values of b: 3
Enter the values of c: 5
Imaginary Roots
Root1 = -0.750000  +i 1.391941
Root2 = -0.750000  -i 1.391941
```

## Explanation

In the above program, we imported the "java.util.Scanner" package to read input from the user. And, created a public class Main. It contain two static methods calculateRoot() and main().

The calculateRoot() method is used to find the quadratic equation based on given values of a, b, c.

The main() method is an entry point for the program. Here, we read values a, b, c from the user using the Scanner class. Then we used the calculateRoot() method to find the quadratic equation and printed the result.