Write a Java Program to Find all Roots of a Quadratic Equation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
public class Main { public static void main(String[] args) { // value a, b, and c double a = 2.3, b = 4, c = 5.6; double root1, root2; // calculate the determinant (b2 - 4ac) double determinant = b * b - 4 * a * c; // check if determinant is greater than 0 if (determinant > 0) { // two real and distinct roots root1 = (-b + Math.sqrt(determinant)) / (2 * a); root2 = (-b - Math.sqrt(determinant)) / (2 * a); System.out.format("root1 = %.2f and root2 = %.2f", root1, root2); } // 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 root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); } // 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); } } } |
Final output
- public class Main {
- public static void main(String[] args) {
- // value a, b, and c
- double a = 2.3, b = 4, c = 5.6;
- double root1, root2;
- // calculate the determinant (b2 – 4ac)
- double determinant = b * b – 4 * a * c;
- // check if determinant is greater than 0
- if (determinant > 0) {
- // two real and distinct roots
- root1 = (–b + Math.sqrt(determinant)) / (2 * a);
- root2 = (–b – Math.sqrt(determinant)) / (2 * a);
- System.out.format(“root1 = %.2f and root2 = %.2f”, root1, root2);
- }
- // 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
- root1 = root2 = –b / (2 * a);
- System.out.format(“root1 = root2 = %.2f;”, root1);
- }
- // 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);
- }
- }
- }
1 thought on “Write a Java Program to Find all Roots of a Quadratic Equation”