使用java计算float数组中递增数字的总和

Bre*_*ett 0 java floating-point sum

我应该编写一个Java程序来总结以下序列:1.0/1.0 + 1.0/2.0 + 1.0/3.0 .... + 1.0/15,000,000.0按升序排列然后再按降序从1.0/15,000,000.0 + 1.0开始14,999,999使用32位浮点一直下降到1.0/1.0.我正在努力弄清楚如何做到这一点,但这是我到目前为止(不知道它是否会起作用):

编辑:很抱歉打开这个东西,但我得到1.0的答案,我很确定这是不正确的.有谁知道我做错了什么?

public class FloatSum {

public static float increasingSum (float numbers1){
float sum1 = 0;
for (int i = 1; i <= 15000000; i++){ 
    sum1 = sum1 + 1/i; 
    } 
return sum1;
} 

public static float decreasingSum (float numbers2){
float sum2 = 0;
for (int i = 15000000; i >= 1; i--){ 
    sum2 = sum2 + 1/i; 
    } 
return sum2;
}

public static void main(String[] args) {
float sum1 = 0;
float sum2 = 0; 

System.out.println(increasingSum(sum1));
System.out.println(increasingSum(sum2));
}
}
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

由于这是家庭作业,我将限制我的答案几个提示:

  1. 您不需要数组:单个标量累加器变量就足够了.将其初始化为零并将每个术语添加到其中.
  2. 不要循环使用和的项,循环分母(非常方便的整数).