class QuadraticFormula {
public static void main(String[] args) {
double a = 0;
double b = 0;
double c = 0;
double discriminant = 0;
double root1 = 0;
double root2 = 0;
if (args.length == 3) {
a = Double.parseDouble(args[0]);
b = Double.parseDouble(args[1]);
c = Double.parseDouble(args[2]);
} else {
System.err.println("Wrong.");
}
discriminant = Math.pow(b,2) - 4*a*c;
root1 = (-b + Math.sqrt(discriminant))/(2*a);
root2 = (-b - Math.sqrt(discriminant))/(2*a);
System.out.println("Discriminant = " + discriminant);
if(discriminant > 0) {
System.out.println("Roots: " + root1 + ", " + root2);
}
else if(discriminant == 0) {
System.out.println("Only one root.");
System.out.println("Root: " + root1);
}
else {
System.out.println("It has Complex Roots.");
root1 = -b/(2*a);
root2 = Math.sqrt(-discriminant)/(2*a);
System.out.println("Roots: " + root1 + " + " + root2 + "i, "
+ root1 + " - " + root2 + "i");
}
}
}
Output:
# java QuadraticFormula 2 5 -3 Discriminant = 49.0 Roots: 0.5, -3.0 # java QuadraticFormula 3 6 3 Discriminant = 0.0 Only one root. Root: -1.0 # java QuadraticFormula 1 2 3 Discriminant = -8.0 It has Complex Roots. Roots: -1.0 + 1.4142135623730951i, -1.0 - 1.4142135623730951i