我使用我的体重值 180 来查找我在地球以外的行星上的体重(以磅为单位),并使用使用质量和表面重力查找重量的公式。我面临的问题是,每当我调用此方法时,调用该方法的 8 次权重值都会返回 180。在我的代码中,我用 (mass * roundedSG)/433 计算重量...它不应该返回 180。我不知道如何解决这个问题,我已经尝试了几个小时。 for 循环采用不同的方法,顺便说一句,我这样做是为了家庭作业,如果尝试解决我的这个问题,我们将不胜感激。谢谢!
public static double weight(double sGravity, double w)
{
double roundedSG = sGravity / 10;
double mass = (w * 433.59237)/roundedSG;
double weight = (mass * roundedSG)/433.59237;
return weight;
}
for(int i = 0; i < planetSurfaceGravity.length; i++)
{
weightOnPlanets[i] = weight(planetSurfaceGravity[i], weightLbs);
System.out.println(weightOnPlanets[i]);
}
}
最佳答案
我认为你的weight()数学是不正确的。看起来体重实际上返回了以下内容:
(w * 433/roundedSG)*roundedSG/433.
433s 和 roundedSGs 取消,你只是返回 w,我猜是 180?
关于java - 我的单独方法不断返回错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212990/