如何在 java 中写入 sin 平方

how to write sin squared in java

double maxHeight = 0.0;

velocity = v;
angle = theta;

maxHeight = Math.pow(velocity, 2.0);
maxHeight = Math.pow(sin, 2.0);
maxHeight *= Math.sin(angle) / (2 * gravity);

我正在尝试获取 Math.pow(sin, 2.0);。它要求我声明 sin。我应该为此付出什么?我只是想让罪恶平方。

首先 - Math.pow(x, 2.0) 等于 sin * sin,第二种方法应该更有效。

在回答您的问题时 - 您要在第二个 Math.pow() 中使用的变量 "sin" 是否存在?

示例代码:

// assuming that "v", "theta" and "gravity" are known variables

double sin = Math.sin(theta);
double maxHeight = (v * v * sin * sin) / (gravity * 2);

更正后的原始代码:

double maxHeight = 0.0;

velocity = v;
angle = theta;

maxHeight = Math.pow(velocity, 2.0);
double sin = Math.sin(angle);
maxHeight *= Math.pow(sin, 2.0) / (2 * gravity);

您当前代码的问题是您试图访问名为 sin 的变量,但该变量不存在。由于您是从 Java 开始的,让我们重新开始。

您想计算​​h = v² sin²( θ ) / ( 2 g )。我们已经有 vtheta.

首先,分子是v² sin²(θ)。这意味着我们需要计算。然后我们需要计算 sin(θ) 并对结果进行平方。然后我们需要将这两个数字相乘。放到代码中,我们有:

double vSquared = Math.pow(v, 2);
double sinTheta = Math.sin(theta);
double sinThetaSquared = Math.pow(sinTheta, 2);
double numerator = vSquared * sinThetaSquared;

分母就是 2*g 所以我们有:

double maxHeight = numerator / (2 * gravity);

如果我们将其简化为一个表达式,我们得出:

//test data
double v = 1.0;
double theta = 1.5;
double gravity = 9.8;

double maxHeight = Math.pow(v, 2) * Math.pow(Math.sin(theta), 2) / (2 * gravity);