编写数学方程式

Coding a Math Equation

所以我正在尝试使用 java:

对这个等式进行编码

我正在从用户那里获取 a、b 和 c。 这是我目前的代码:

import java.util.Scanner;
class QaudraticFunction{
    public static void main(String []args){
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a: ");
        double a = input.nextDouble();

        System.out.println("Enter b: ");
        double b = input.nextDouble();

        System.out.println("Enter c: ");
        double c = input.nextDouble();

        double val1 = (Math.pow(b,2.0)) - (4.0*a*c);
        double discriminant = Math.sqrt(val1);
        double val2 = (-b)-(discriminant);
        double r2 = val2/(2.0*a);

        System.out.println("r2 = " + r2);
    }
}

我认为我的问题是逻辑错误,因为程序可以正确编译和运行。当我输入 a、b 和 c 的值时。我得到 r2 = NaN

您看到 NaN 的两个可能原因。

分母是0。这仅在 a 设置为 00.0 时才有可能。我假设情况并非如此。

另一种可能性是您正在计算一个负数的平方根,它(在 java 中)是一个 NaN。有关详细信息,请参阅 Math.sqrt javadoc

If the argument is NaN or less than zero, then the result is NaN.