Вот простая проблема, с которой я столкнулся. Задача требует, чтобы я написал метод под названием fractionSum, который принимает целочисленный параметр и возвращает двойное число из суммы первых n членов.Проблема с совокупной суммой
например, если параметр равен 5, программа добавит все доли (1+ (1/2) + (1/3) + (1/4) + (1/5)). Другими словами, это форма суммы Римана.
По какой-то причине цикл for не накапливает сумму.
Вот код:
public class Exercise01 {
public static final int UPPER_LIMIT = 5;
public static void main(String[] args) {
System.out.print(fractionSum(UPPER_LIMIT));
}
public static double fractionSum(int n) {
if (n<1) {
throw new IllegalArgumentException("Out of range.");
}
double total = 1;
for (int i = 2; i <= n; i++) {
total += (1/i);
}
return total;
}
}
Хорошо, спасибо за помощь. –