## Thursday, 25 August 2016

### Chapter 7 Exercise 13, Introduction to Java Programming, Tenth Edition Y. Daniel LiangY.

7.25 (Algebra: solve quadratic equations) Write a method for solving a quadratic equation using the following header: public static int solveQuadratic(double[] eqn, double[] roots) The coefficients of a quadratic equation ax2 + bx + c = 0 are passed to the array eqn and the real roots are stored in roots. The method returns the number of real roots. See Programming Exercise 3.1 on how to solve a quadratic equation. Write a program that prompts the user to enter values for a, b, and c and displays the number of real roots and all real roots.

import java.util.Scanner;

public class ProgrammingEx7_25 {

public static void main(String[] args) {

double[] eqn = new double[3];
double[] roots = new double[2];
Scanner input = new Scanner(System.in);

System.out.print("Enter a, b, c:");
eqn[0] = input.nextDouble();
eqn[1] = input.nextDouble();
eqn[2] = input.nextDouble();

if (numberOfRoots == 0) {
System.out.println("The equation has no real roots");

} else if (numberOfRoots == 2) {
System.out.println("The equation has two roots " + roots[0]
+ " and " + roots[1]);
} else if (numberOfRoots == 1) {
System.out.println("The equation has one root " + roots[0]);
}

}

public static int solveQuadratic(double[] eqn, double[] roots) {
double a = eqn[0];
double b = eqn[1];
double c = eqn[2];
double discriminant = Math.pow(b, 2) - 4 * a * c;

if (discriminant < 0) {

return 0;
}

roots[0] = (-b + Math.sqrt(discriminant)) / (2 * a);
roots[1] = (-b - Math.sqrt(discriminant)) / (2 * a);

if (discriminant > 0) {
return 2;
} else {

return 1;
}

}

}