我是 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次计算。这显然不是很难,但我不知道如何让它添加结果,所以我可以让它只显示结果。
如果我理解正确,您想添加每次迭代的结果,在这种情况下,以下内容就足够了:
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);
不给你答案
创建一个double sumP
并且每次p
都被赋予一个值,添加p
到sumP
确保sumP
放置在循环之前。
循环后,打印sumP
由于表示错误,迭代浮点是危险的。你最好迭代一个 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 doubles,因为它通常用于循环。
编辑考虑
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
您需要创建一个变量来保存总数。例如;
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,但在我看来,创建一个变量来保存总和要干净得多。