Java program to find the roots of a quadratic equation:
In this post, we will learn how to find the roots of a quadratic equation in Java. We will take the values as inputs from the user and print the root values.
How to find the roots of a quadratic equation:
Below is the formula of a quadratic equation:
ax^2 + bx + c = 0
Here, a, b and c are all real numbers and a can’t be equal to 0. We can use the below formula to find the roots of this quadratic equation:
-b ± √(b^2-4ac)/ 2a
There will be two roots. The ± sign is used for that.
Also, the value under the square root, b2-4ac is called the discriminant. Based on the value of this discriminant, the roots of a quadratic equation is defined.
- If it is equal to 0, roots are equal and both are real numbers.
- If it is greater than 0, roots are different and both are real numbers.
- If it is less than 0, roots are different and both are complex numbers.
Java program:
We will take the values of a, b and c as inputs from the user and print the roots for that quadratic equation.
import java.util.Scanner;
class Main {
public static void main(String[] args) {
double a, b, c, d;
double firstRoot, secondRoot;
Scanner sc = new Scanner(System.in);
System.out.println("Enter the values of a, b and c: ");
a = sc.nextDouble();
b = sc.nextDouble();
c = sc.nextDouble();
d = b * b - 4 * a * c;
if (d == 0) {
firstRoot = secondRoot = -b / (2 * a);
System.out.format("First root: %.2f, second root: %.2f", firstRoot, secondRoot);
} else if (d > 0) {
firstRoot = -b + Math.sqrt(d) / 2 * a;
secondRoot = -b - Math.sqrt(d) / 2 * a;
System.out.format("First root: %.2f, second root: %.2f", firstRoot, secondRoot);
} else {
double r = -b / (2 * a);
double i = Math.sqrt(-d) / (2 * a);
System.out.format("First root: %.2f+%.2fi\n", r, i);
System.out.format("Second root: %.2f-%.2fi", r, i);
}
}
}
Here,
- a, b, c variables are to hold the a, b, and c values of the quadratic equation.
- d is to hold the discriminant.
- We are taking the values of a, b, and c from user and it finds the values of d by using the above formula.
- Based on the value of d, it finds the roots of the quadratic equation.
- The if block will run if the value of d is equal to 0.
- The else if will run if it is greater than 0.
- The else block will run if it is less than 0.
- Inside the blocks, we are finding the roots by using the same formula we seen above. We are using System.out.format to print the values of the roots.
Sample output:
If you run this program, it will give output as like below:
Enter the values of a, b and c:
3
4
5
First root: -0.67+1.11i
Second root: -0.67-1.11i
Enter the values of a, b and c:
1
20
2
First root: -10.10, second root: -29.90
You might also like:
- 4 different Java program to check if a number is a sunny number or not
- Java Arrays binarySearch method explanation with example
- java.util.Arrays.deepEquals method explanation with examples
- java.util.Arrays.fill method explanation with examples
- Java Arrays toString method explanation with example
- Java Program to check if a number is magic number or not
- Java Arrays hashCode() method explanation with examples
- Java Arrays sort method explanation with example
- 7 different Java programs to check if a number is Even or odd