在方程式中实现指数

时间:2013-09-30 02:45:09

标签: java android

我有一个等式;

(((nmed - nsub) / (nmed + nsub))^2) *100

我已经查看了其他问题,但似乎无法理解如何将pow()实现到这个等式中。

private String updateTotal() {
        float nsub; 
        float nmed;
        if(n_sub.getText().toString() != "" && n_sub.getText().length() > 0) {
            nsub = Float.parseFloat(n_sub.getText().toString());
        } else {
            nsub = 0;
        }
        if(n_med.getText().toString() != "" && n_med.getText().length() > 0) {
            nmed = Float.parseFloat(n_med.getText().toString());
        } else {
            nmed = 0;
        }

        return Float.toString( (((nmed - nsub) / (nmed + nsub))^2) *100 );
    }

在另一个方程中,我将为另一个输入做,我也将实现sqrt。类似的方程。 任何帮助都会很热。 感谢。

3 个答案:

答案 0 :(得分:1)

Java中的^意味着exclusive OR, XOR操作,而不是提升权力。您需要使用Math.pow(x, 2)或简单地将表达式自身相乘:

return Float.toString(100 * Math.pow( ((nmed - nsub) / (nmed + nsub)), 2));

float tmp = (nmed - nsub) / (nmed + nsub);
return Float.toString(100 * tmp*tmp);

答案 1 :(得分:0)

您可以使用Math#pow,但我猜这是功课,您需要自己实施。

指数的简单方法是:

public int pow (int value, int exp) {
    int retVal = value;
    for (int i = 1; i < exp; i++) {
        retVal = retVal * value;
    }
    return retVal;
}

当然,您需要处理一些边缘情况,如exponents&lt; = 0和整数溢出。由于这是你的作业,我会留下这些细节让你弄明白。

答案 2 :(得分:0)

只需计算

((nmed - nsub) / (nmed + nsub)) *10

并将结果乘以其自身。