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由于某种原因,但我不知道为什么或如何解决它。任何帮助表示赞赏!