In: Computer Science
use Java
The two roots of a quadratic equation ax^2 + bx + c = 0
can be obtained using the following formula:
r1 = (-b + sqrt(b^2 - 4ac)) / (2a)
and
r2 = (-b - sqrt(b^2 - 4ac)) / (2a)
b^2 - 4ac is called the discriminant of the quadratic
equation. If it is positive, the equation has two real roots. If it
is zero, the equation has one root. If it is negative, the equation
has no real roots.
Write a program that prompts the user to enter values for a, b, and
c and displays the result based on the discriminant.
If the discriminant is positive, display two roots.
If the discriminant is 0, display one root.
Otherwise, display “The equation has no real roots”.
Note that you can use Math.pow(x, 0.5) to compute sqrt(x).
Sample Run 1
Enter a, b, c: 1.0 3 1
The equation has two roots -0.381966 and -2.61803
Sample Run 2
Enter a, b, c: 1 2.0 1
The equation has one root -1
Sample Run 3
Enter a, b, c: 1 2 3
The equation has no real roots
Class Name: Exercise03_01
If you get a logical or runtime error, please refer
https://liveexample.pearsoncmg.com/faq.html.
import java.util.*;
public class Exercise03_01
{ public static void find_root(double a,double b,double c){
double r1, r2;
double determinant = b * b - 4 * a * c;
// if the determinant is positive
//display two roots
if(determinant > 0) {
r1 = (-b + Math.sqrt(determinant)) / (2 * a);
r2 = (-b - Math.sqrt(determinant)) / (2 * a);
System.out.format("The equation has two roots %.6f and %.5f", r1,r2);
}
// if determinant is 0
// display one root
else if(determinant == 0) {
r1 = r2 = -b / (2 * a);
System.out.format("The equation has one root %.0f", r1);
}
// If roots are not real
//dispaly no real roots
else {
System.out.println("The equation has no real roots");
}
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.print("Enter a,b,c: ");
double a=s.nextDouble();
double b=s.nextDouble();
double c=s.nextDouble();
find_root(a,b,c);
}
}