java - 数学公式未返回正确答案

标签 java android math methods

所以我正在尝试制作一个简单的计算器来计算威尔克斯分数。我没有得到正确的答案,我确信这是因为我没有正确设置公式。如果我的重量为 180,深蹲为 300,卧推为 300,硬拉为 400 磅,我应该得到 305.78 的威尔克斯,但我得到的是 2.0414858^-5

这是我的 calcWilks 方法

   public double calcWilks(double weight, double squat, double bench, double deadLift) {

    double a = -216.0475144;
    double b = 16.2606339;
    double c = -0.002388645;
    double d = -0.00113732;
    double e = Math.pow(7.01863, -6);
    double f = Math.pow(-1.291, -8);
    double x = weight;
    double coeff;
    double score;

    coeff = 500 / (a + (b*x) + (c* Math.pow(x, 2))+ (d* Math.pow(x, 3))
            + (e* Math.pow(x, 4)) + (f* Math.pow(x, 5)));

    double total = squat + bench + deadLift;
    score = coeff* total;
    return score;
}

这是实际公式的链接 https://en.wikipedia.org/wiki/Wilks_Coefficient

我正在尝试使用男性公式

感谢您的帮助!

最佳答案

维基百科页面中的e系数值为

7.01863E-06

但你用过

Math.pow(7.01863, -6)

这不是同一件事:

7.01863E-06 = 7.01863 * Math.pow(10, -6).

直接使用值7.01863E-06(或7.01863e-6)即可。

(与f同样的问题)

<小时/>

另请注意,公式的输入应以千克为单位;正如您在问题中所述,不是以英镑为单位。

关于java - 数学公式未返回正确答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42331636/

相关文章:

android - 如何在 Android 中为底部导航设置全宽

android - 如何让 Cordova 与 Android Studio 一起工作?

android - Z-index 不适用于三星 galaxy 选项卡?

python - 计算一个较大数字的位数

algorithm - 在列表中查找重复项的最少检查

c# - 分割GPS路径数据

java - HADOOP - 减少简单 MR 作业的阶段挂起

java - 如何在多个 jpanel 中使用一个变量?

java - 如何在android中使用json检索多维数组

java - R 3.0.1,JVM找不到对象