【发布时间】:2015-11-02 16:08:51
【问题描述】:
我试图得到所有偶数斐波那契数的总和。我可以打印出这些数字,但我无法得到它们的总和。这是在java中。
class driver {
public static void main(String [] args) {
int a;
int b = 0;
int c = 1;
for (int i = 0; i < 10; i++) { // Finds fibonacci sequence
a = b;
b = c;
c = a + b;
if ( c % 2 == 0) { // Check if it's even
int sum = 0;
sum = sum + c;
System.out.println(sum);
}
else {
}
}
}
}
【问题讨论】:
-
将打印语句置于循环之外。
-
每次找到偶数时,您都会在循环内将总和设置为
0,因此有效地代码就是sum = c。例如将int sum = 0移出循环。 -
看看你在哪里初始化
sum;自己单步执行代码,看看为什么会出现问题。 -
偶数项会不断出现,因此所有偶数项的总和是无穷大。