In this java program, we will learn about how to find all the roots of a quadratic equation.
In algebra, a quadratic equation is a second order equation having a single variable. Any quadratic equation can be represented as ax2 + bx + c = 0, where a, b and c are constants( a can't be 0) and x is unknown variable.
For Example:
4x2 + 2x + 5 = 0 is a quadratic equation where a, b and c are 4, 2 and 5 respectively.
To understand this java program, you should have understanding of the following Java programming concepts:
To calculate the roots of quadratic equation we can use below formula. There are two solutions of a quadratic equation.
x = (-2a + sqrt(D))/2
x = (-2a - sqrt(D))/2
where, D is Discriminant which is calculated as (b2 - 4ac), it differentiate the nature of the roots of quadratic equation.
Discriminant(D) value | Description |
---|---|
D < 0 | We will get two complex roots. |
D = 0 | We will get two equal roots. |
D > 0 | We will get two real numbers. |
Java Program to Find Roots of a Quadratic Equation
public class QuadraticEqRoots { public static void main(String[] args) { double a, b, c, determinant, root1, root2, real, imag; Scanner scanner = new Scanner(System.in); System.out.println("Enter value of a, b and c"); a = scanner.nextDouble(); b = scanner.nextDouble(); c = scanner.nextDouble(); // Calculate determinant determinant = b*b - 4*a*c; if(determinant >= 0) { root1= (-b + Math.sqrt(determinant))/(2 * a); root2= (-b - Math.sqrt(determinant))/(2 * a); System.out.format("Roots are %.2f and %.2f", root1, root2); } else { real= -b/(2*a); imag = Math.sqrt(-determinant)/(2 * a); System.out.format("root1= %.2f+%.2fi", real,imag); System.out.format("\nroot2= %.2f-%.2fi", real,imag); } } }Output
Enter value of a, b and c 4 9 2 Roots are -0.25 and -2.00 Enter value of a, b and c 1 1 1 root1 = -0.50+0.87i root2 = -0.50-0.87i
- In above java program, first of all we take the coefficients a, b and c as input from user.
- Then, we calculate determinnant as b*b - 4*a*c. Based on the value of determinant, we calculate the square roots of quadratic equation as per the formula mentioned above.
- We are using Math.sqrt() method to calculate the square root of a number.
- At last, we print the roots of the quadratic equation using System.out.format() method.