Java 用特定类求二次方程的根

Java 用特定类求二次方程的根,java,if-statement,equation,polynomial-math,quadratic,Java,If Statement,Equation,Polynomial Math,Quadratic,我有一个任务,要求我写一个代码来确定一个二次方程的根(ax^2+bx+c=0)。但是我必须使用大学的图书馆(type.lib.Equation;) 我几乎把一切都弄明白了,除了有两个根的情况。我可以得到第一根,但我仍然在绕着第二根转 到目前为止我的代码 import java.util.Scanner; import java.io.PrintStream; import type.lib.Equation; public class Check05A { /** * @p

我有一个任务,要求我写一个代码来确定一个二次方程的根(ax^2+bx+c=0)。但是我必须使用大学的图书馆(type.lib.Equation;)

我几乎把一切都弄明白了,除了有两个根的情况。我可以得到第一根,但我仍然在绕着第二根转

到目前为止我的代码

import java.util.Scanner;
import java.io.PrintStream;
import type.lib.Equation;

public class Check05A
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        PrintStream output = System.out;
        Scanner input = new Scanner(System.in);

        output.println("Enter a,b,c pressing ENTER after each... ");
        double a = input.nextDouble();
        double b = input.nextDouble();
        double c = input.nextDouble();
        output.print("The equation: ");
        Equation x = new Equation(a, b, c);
        output.print(x);
        int root = x.getRootCount();




        if(root == 0)
        {
            output.println(" has no real roots.");
        }
        if(root == 1)
        {
            double r1 = x.getRoot(root);
            output.println(" has the single root: " + r1);
        }
        if(root == 2)
        {
            double r1 = x.getRoot(root);
            double r2 = -x.getRoot(root);
            output.println(" has the two roots: " + r2 + " and " + r1);
        }
        if(root == -1)
        {

            output.println("\nis an identity - any value is a root.");
        }









    }

}
例如,1、2、-4应输出为:

“有两个根:-3.23606797749979和1.2360679774997898”


你只是把负号放在根1上

事实并非总是如此

查找二次方程的求根公式:

x=\frac{-b \pm \sqrt {b^2-4ac}}{2a}.

在函数x.getRoot()中,在数组中返回两个值。

如何获取第二个值?我知道如果我手动将getRoot()设置为1,2(1表示两个根中较小的一个,2表示较大的一个),我将得到两个根。