Finding Roots of a quadratic equation in Java
Finding Roots of a Quadratic Equation in Java
In this Java program, we will find the roots of a quadratic equation [ax2 + bx + c]. We can solve a Quadratic Equation by finding its roots. Mainly roots of the quadratic equation are represented by a parabola in 3 different patterns like :
- No Real Roots
- One Real Root
- Two Real Roots
Explanation
A quadratic equation is an equation of the second degree, meaning it contains at least one term that is squared.The standard form is ax² + bx + c = 0 with a, b, and c being constants, or numerical coefficients, and x is an unknown variable.
One absolute rule is that the first constant "a" cannot be a zero.
Algorithm :
- Calculate the determinant value (b*b)-(4*a*c).
- If determinant is greater than 0 roots are [-b +squareroot(determinant)]/2*a and [-b -squareroot(determinant)]/2*a.
- If determinant is equal to 0 root value is (-b+Math.sqrt(d))/(2*a)
Code in Java
Run
/* Write a program to find roots of a quadratic equation in Java*/ import java.io.*; import static java.lang.Math.*; class Main{ static void findRoots(int a, int b, int c) { if (a == 0) { System.out.println("Invalid"); return; } int d = b * b - 4 * a * c; double sqrt_val = sqrt(abs(d)); if (d > 0) { System.out.println("Roots are real and different"); System.out.println((double)(-b + sqrt_val) / (2 * a) + "\n"+ (double)(-b - sqrt_val) / (2 * a)); } else if (d == 0) { System.out.println("Roots are real and same "); System.out.println(-(double)b / (2 * a) + "\n" + -(double)b / (2 * a)); } else // d < 0 { System.out.println("Roots are complex"); System.out.println(-(double)b / (2 * a) + " + i" + sqrt_val + "\n" + -(double)b / (2 * a) + " - i" + sqrt_val); } } // Driver code public static void main(String args[]) { int a = 1, b = 4, c = 4; // Function call findRoots(a, b, c); } }
Output :
Roots are real and same
-2.0
-2.0
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Login/Signup to comment