Write a program that prints all real solutions to the quadratic equation ax2 + bx + c = 0. Read in a, b, c and use the quadratic formula. If the discriminant b2 − 4ac is negative, display a message stating that there are no real solutions.

Implement a class QuadraticEquation whose constructor receives the coefficients a, b, c of the quadratic equation. Supply methods getSolution1 and getSolution2 that get the solutions, using the quadratic formula, or 0 if no solution exists. The getSolution1 method should return the smaller of the two solutions.

Supply a method

boolean hasSolutions()

that returns false if the discriminant is negative.

Complete the following files:

QuadraticEquation.java

QuadraticEquationTester2.java

QuadraticEquationTester3.java

Use the following file:

QuadraticEquationTester.java

/**
   This program tests the QuadraticEquation class.
 */
public class QuadraticEquationTester
{
   public static void main(String[] args)
   {
      QuadraticEquation eq1 = new QuadraticEquation(2, 2, -4);
      System.out.println(eq1.hasSolutions());
      System.out.println("Expected: true");
      System.out.println(eq1.getSolution1());
      System.out.println("Expected: -2");
      System.out.println(eq1.getSolution2());
      System.out.println("Expected: 1");            

      QuadraticEquation eq2 = new QuadraticEquation(-2, -2, 4);
      System.out.println(eq2.hasSolutions());
      System.out.println("Expected: true");
      System.out.println(eq2.getSolution1());
      System.out.println("Expected: -2");
      System.out.println(eq2.getSolution2());
      System.out.println("Expected: 1");            

      QuadraticEquation eq3 = new QuadraticEquation(2, 2, 4);
      System.out.println(eq3.hasSolutions());
      System.out.println("Expected: false");
      System.out.println(eq3.getSolution1());
      System.out.println("Expected: 0");
      System.out.println(eq3.getSolution2());
      System.out.println("Expected: 0");            
   }
}