"3.编写一个方法,该方法采用三个实数a,b和c表示二次方程ax2 + bx + c的系数,并使用二次方程式确定方程ax2 + bx + c = 0的一个解.一个if语句,以确保程序对所有数字输入正常工作."
这是我的代码,但是当我输入数字时,我得到0的答案
public int quadraticEquation(int a, int b, int c)
{
    if (a <= 0 && b<=0 && c<=0){
    System.out.println("Must be a real number");
    } else if(
    (a*(x^2))+(b*x)+c==0);
    return x;
}
小智 5
这里有多个问题:
你检查解决方案是否真实存在缺陷.-x^2 - 2x - 1具有所有负系数,但其解决方案是真实的.
我没有看到x任何地方声明,这是否编译?
x^2是不是 "X的平方",但"X按位异或2".在进一步做之前,你应该学习Java.
你这里有一个流浪的分号else if:(a*(x^2))+(b*x)+c==0);
你必须非常幸运地回来x.
赋值要求您输入三个实数,但是您将参数声明为int.这不好.
计算解决方案的正确公式是:

总而言之,你想要这样的东西:
public double solveQuadratic(double a, double b, double c)
{
    double D = b * b - 4 * a * c;
    if (D < 0)
        throw new RuntimeException(); // complex solution
    return (-b + Math.sqrt(D)) / (2 * a);
}
上面的代码是未经测试的,我不会说Java,只是从Google收集的东西.
编辑:在这里测试,它似乎提供与WolframAlpha相同的解决方案.