×

Java Programs

Java Practice

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 
// of a quadratic equation

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.

Java Basic Programs »



Related Programs



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.