如何在Java中进行简单的数学运算?

时间:2018-01-15 23:26:10

标签: java math operators

出于某种原因,我对等式的数学运算并不起作用。这实际上是我的第一个Java程序,所以请轻松一点,不要使用我不理解的概念和内容。

无论我输入什么数字,结果总是说:第一个零:NaN。第二个零:NaN。我没有尝试编写一个处理虚幻数字的程序。我输入的所有数字都是真正的零。

有人可以帮我这个吗?

import java.util.Scanner;

public class Main
{
    public static void main(String[] args) {

        Scanner reader = new Scanner(System.in);

        double[] num = new double [3];
        double answer1;
        double answer2;

        System.out.print("Enter A, B, C: ");

        for(int i = 0; i < 3; i++){
            num[i] = reader.nextDouble();
        }


        answer2 = (((num[1]*-1.0)-(Math.pow((Math.pow(num[1],2.0)-(num[0]*num[2]*4.0)),0.5)))/(num[0]*2.0));
        answer1 = (((num[1]*-1.0)+(Math.pow((Math.pow(num[1],2.0)-(num[0]*num[2]*4.0)),0.5)))/(num[0]*2.0));

        System.out.println("The first zero: " + answer1 + ".");
        System.out.println("The second zero: " + answer2 + ".");
    }
}

1 个答案:

答案 0 :(得分:0)

 Math.pow(-4.0, 0.5) = Math.sqrt(-4.0) both results in NaN

确保您提供的输入不会给出负值      Math.pow(NUM [1],2.0) - (NUM [0] * NUM [2] * 4.0)

例如,这将返回有效结果 A = 1,B = 100,C = 10

The first zero: -0.10010020050140156.
The second zero: -99.8998997994986.