Euler#2 Java项目

Euler#2 Java项目,java,for-loop,fibonacci,Java,For Loop,Fibonacci,提示: public class EvenFibonaccinumbers { public static void main(String[] args) { long sum = 0; for (int i = 1; i < 4000000; i += (i - 1)) { if (i % 2 == 0) { sum += i; } }

提示:

public class EvenFibonaccinumbers {

    public static void main(String[] args) {
        long sum = 0;
        for (int i = 1; i < 4000000; i += (i - 1)) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("Sum: " + sum);
    }
}
斐波那契序列中的每个新项都是通过将前两项相加生成的。从1和2开始,前10个术语将是:

1、2、3、5、8、13、21、34、55、89

通过考虑Fibonacci序列中值不超过400万的项,求偶数值项之和

我的代码:

public class EvenFibonaccinumbers {

    public static void main(String[] args) {
        long sum = 0;
        for (int i = 1; i < 4000000; i += (i - 1)) {
            if (i % 2 == 0) {
                sum += i;
            }
        }
        System.out.println("Sum: " + sum);
    }
}
公共类偶数{
公共静态void main(字符串[]args){
长和=0;
对于(int i=1;i<4000000;i+=(i-1)){
如果(i%2==0){
总和+=i;
}
}
System.out.println(“总和:+Sum”);
}
}

问题:Eclipse控制台保持空白

这是因为有一个无限循环

for (int i = 1; i < 4000000; i += (i - 1)) {
    // first iteration: i = 1
    // (i - 1) = (1 - 1) = 0: therefore i += 0
    // i always = 1
}
for(int i=1;i<4000000;i+=(i-1)){
//第一次迭代:i=1
//(i-1)=(1-1)=0:因此i+=0
//我总是=1
}

它不会吗?你试过修复它吗?那么你的代码呢?^@ShivPatel这样的评论对你没有帮助。如果您不熟悉堆栈溢出的用途以及如何在此处提问,请访问和我们的,特别是部分。也很方便。我想你应该编辑你问题的标题。也许您的“问题:Eclipse控制台仍为空白”可以作为标题?我认为反对票有点少harsh@wfunston否决票是根据这一问题的答案进行的,OP给出的问题的唯一描述是“不起作用”。虽然OP后来改进了它,但并不是所有先前投过这些票的人都还在这里取回它们。