The problem 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”.

```
Enter a, b, c: 1.0 3 1
The roots are -0.381966 and -2.61803
```

Breaking it down public static void main ( String [] Strings ) {
Scanner input = new Scanner ( System . in );
System . out . print ( "Enter a, b, c: " );
double a = input . nextDouble ();
double b = input . nextDouble ();
double c = input . nextDouble ();
input . close ();
double discriminant = calculateDiscriminant ( a , b , c );
if ( discriminant > 0.0 ) {
double r1 = (- b + Math . pow ( discriminant , 0.5 )) / ( 2.0 * a );
double r2 = (- b - Math . pow ( discriminant , 0.5 )) / ( 2.0 * a );
System . out . println ( "The roots are " + r1 + " and " + r2 );
} else if ( discriminant == 0.0 ) {
double r1 = - b / ( 2.0 * a );
System . out . println ( "The root is " + r1 );
} else {
System . out . println ( "The equation has no real roots." );
}
}
private static double calculateDiscriminant ( double a , double b , double c ) {
double discriminant = b * b - 4.0 * a * c ;
return discriminant ;
}

Output ```
Enter a, b, c: 1 2.0 1
The root is -1.0
```

Solve quadratic equations posted by Justin Musgrove on 27 March 2016

Tagged: java, java-exercises-beginner, intro-to-java-10th-edition, and ch3

Share on: Facebook Google+