如何在 Java 中进行简单的数学运算?
How to do simple math operations in Java?
出于某种原因,我对方程式的数学计算不起作用。这实际上是我的第一个 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 + ".");
}
}
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)
这将是 return 有效的结果,例如
A=1, B=100, C=10
The first zero: -0.10010020050140156.
The second zero: -99.8998997994986.
出于某种原因,我对方程式的数学计算不起作用。这实际上是我的第一个 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 + ".");
}
}
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)
这将是 return 有效的结果,例如 A=1, B=100, C=10
The first zero: -0.10010020050140156.
The second zero: -99.8998997994986.