Java数学帮助虚数

时间:2014-11-02 18:51:38

标签: java math

我为我的作业做了这个数学运算,你必须找到想象的数字。

double dem = (b*b-4*a*c)*-1;
    double dem2 = Math.sqrt(dem);
    realPart = (-b/(2*a));
    imagine = (dem2)/(2*a);
    imagineneg = (dem2)/(2*a);

所以基本上我试图得到平方根内的数字不是负数。我可以说我输入a: 1b: -1c: 4.25。当你做判别式时,它将是-16,但我希望它是正面的,所以我将它加倍-1(这就是dem部分)。然后,无论答案是什么,我都可以根据想象和想象的部分找到想象中的数字。

我的问题是-16*-1取代16取代15而不是{{1}}。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的代码错了。这是它应该如何看待:

double root1 = 0.0;
double root2 = 0.0;
double discriminant = (b*b-4*a*c);
double denom = 2.0*a;
if (discriminant > 0.0) {
    double root1 = (-b - Math.sqrt(discriminant))/denom;
    double root2 = (-b + Math.sqrt(discriminant))/denom;
} else if (discriminant < 0.0) {
    // deal with complex conjugate roots here
} else {
    root2 = -b/denom;
}