如何在Java中写平方的平方

问题描述 投票:0回答:2
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。我应该为此付出什么?我只是想使罪恶平方。

java trigonometry
2个回答
0
投票

首先-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);

0
投票

当前代码的问题是,您正在尝试访问名为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);
© www.soinside.com 2019 - 2024. All rights reserved.