方法不会返回正确的结果

时间:2016-09-21 21:06:45

标签: do-while

public static double infiniteSeries(int terms) {
    int i = 0;
    double result = 0;
    int n = 2;
    do{
        result += 1/n;
        i++;
        n *= 2;    
    } while (i < terms);
    return result;
}

这是我到目前为止编写的代码。该方法的目标是返回无限级数1/2 + 1/4 + 1/8 ... + ... 1 / n的和。因此,如果用户使用输入1调用方法,则该方法应返回.5,如果用户输入2,则返回.75,依此类推。每当我调用此方法时,无论我输入什么条件,它都会返回0。我试过改变结果+ = 1 / n;结果+ = n;并以我期望的方式返回n个值的总和。所以它不喜欢1 / n由于某种原因,但我不知道为什么或如何解决它。任何帮助表示赞赏!

0 个答案:

没有答案