Quadratic.java

  1. package org.drip.zen.equation;

  2. /*
  3.  * 1) a, b, c
  4.  * 2) Constructor
  5.  * 3) Retrieve a, b, c
  6.  * 4) Find Roots
  7.  * 5) Introduce concept of NULL
  8.  */

  9. public class Quadratic {
  10.     private double _a;
  11.     private double _b;
  12.     private double _c;

  13.     public Quadratic (double a, double b, double c)
  14.     {
  15.         _a = a;
  16.         _b = b;
  17.         _c = c;
  18.     }

  19.     public double a()
  20.     {
  21.         return _a;
  22.     }

  23.     public double b()
  24.     {
  25.         return _b;
  26.     }

  27.     public double c()
  28.     {
  29.         return _c;
  30.     }

  31.     public double[] findRoots()
  32.     {
  33.         double bSquaredMinus4ac = _b * _b - 4 * _a * _c;

  34.         if (bSquaredMinus4ac < 0) return null;

  35.         double[] roots = new double[2];
  36.         roots[0] = (-1. * _b + Math.sqrt (bSquaredMinus4ac)) / (2 * _a);
  37.         roots[1] = (-1. * _b - Math.sqrt (bSquaredMinus4ac)) / (2 * _a);
  38.         return roots;
  39.     }
  40. }