添加循环结果

时间:2013-10-20 12:42:53

标签: java loops

我是Java的新手,我有一个简单的问题需要解决,但我实际上并不知道如何完成它。

我有一个如下所示的循环:

    double i = 0.5 , y , w, p;
    for (double x = 0 ; x <= 2; x=x+i)
    {
     y = Math.pow(x, 2);
     w = 4 - y;
     p = w * i;
    }

所以进行5次计算。这显然不是很困难,但我不知道如何让它添加结果,所以我可以让它只显示结果。

4 个答案:

答案 0 :(得分:1)

如果我理解正确,你想要添加每次迭代的结果,在这种情况下,以下就足够了:

double i = 0.5 , y , w, p = 0;
for (double x = 0 ; x <= 2; x=x+i)
{
    y = Math.pow(x, 2);
    w = 4 - y;
    p += w * i;
}
System.out.println(p);

答案 1 :(得分:0)

没有给你答案

创建double sumP,每次p都有一个值,将p添加到sumP

确保在循环前放置sumP

循环后,打印sumP

答案 2 :(得分:0)

由于表示错误,迭代浮点是危险的。你最好迭代一个int值,因为你知道你将获得多少次迭代。

double f = 0.5, p = 0.0;
for(int j = 0; j <= 4; j++) {
   double x = j * f;
   p += f * (4 - x * x);
}

System.out.println(p);

我建议你避免使用i作为双打,因为它通常用于循环。


编辑考虑

for (double d = 0; d <= 2; d += 0.1)
    System.out.println(d);

打印

0.0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999
1.2
1.3
1.4000000000000001
1.5000000000000002
1.6000000000000003
1.7000000000000004
1.8000000000000005
1.9000000000000006

注意:没有2.0循环。

其中

for (int i = 0; i <= 20; i++) {
    double d = i / 10.0;
    System.out.println(d);
}

打印

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0

答案 3 :(得分:0)

您需要创建一个变量来保存总数。例如;

double sum;
double i = 0.5 , y , w, p;
for (double x = 0 ; x <= 2; x=x+i)
{
 y = Math.pow(x, 2);
 w = 4 - y;
 p = w * i;
 sum += p;
}

注意我是如何使用 sum + = p 的。这是 sum = sum + p 的简写。你应该对 x = x + i 做同样的事情。您还应将 y = Math.pow(x,2)更改为 y = x * x 。这比使用Math.pow更快。

在所有这些更改之后,最终的代码最终会成为;

double sum;
double i = 0.5 , y , w, p;
for (double x = 0 ; x <= 2; x += i)
{
 y = x * x;
 w = 4 - y;
 p = w * i;
 sum += p;
}

旁注:

您也可以 p + = w * i ,但在我看来,创建一个变量来保存总和更加清晰。