数学公式没有返回正确答案

时间:2017-02-19 19:12:14

标签: java android math methods

所以我正在尝试制作一个简单的计算器来计算wilks得分。我没有得到正确答案,我确定是因为我没有正确设置公式。如果我传球的重量为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;
}

并且是实际编队exec with double quoted argument

的链接

我正在尝试使用男性公式

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

维基百科页面中的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相同的问题)

另请注意,公式的输入应为千克;正如你在问题中陈述的那样,不是以磅为单位。