【问题标题】:Add up numbers in a for loop [duplicate]在for循环中将数字相加[重复]
【发布时间】:2014-11-03 14:55:43
【问题描述】:

我遇到了一个非常简单的问题,我无法弄清楚。

这就是我想做的:

6 * (1/(1*1) + 1/(2*2) + 1/(3*3) + … + 1/(N*N))

这是我的代码尝试,但不起作用。

int eingabe = 5;
double c = 0;

    for (int i = 1 ; i<=eingabe ;i++) {
         c += 1/(i*i);
    }
    c *= 6;
    System.out.println(c);

请帮帮我!我必须做什么才能使代码正常工作?

【问题讨论】:

  • 谁需要循环? return (n * (n+1) / 2);
  • @RossDrew 这个问题不是算术级数
  • 我知道@rtruszk - 这就是为什么它是评论而不是答案

标签: java for-loop numbers add


【解决方案1】:

1/(i*i) 更改为1.0/(i*i),目前你正在做整数除法

【讨论】:

    【解决方案2】:
    int eingabe = 5;
    double c = 0;
    
    for (int i = 1 ; i<=eingabe ;i++) {
         c += 1.0/(double)(i*i);
    }
    c *= 6;
    System.out.println(c);
    

    【讨论】:

    • 这里不需要转换为 (double)。当您将双数除以整数时,整数将自动转换为双数
    • 你不需要 1.0 。如果你投射,1 就足够了
    猜你喜欢
    • 2019-07-26
    • 2020-03-26
    • 2013-11-18
    • 2014-01-19
    • 2023-03-29
    • 2014-03-14
    • 1970-01-01
    • 2013-06-24
    • 2017-07-10
    相关资源
    最近更新 更多