2017-01-04 18 views
-1

いくつかのProject Eulerの問題をプログラミングし、作業するのは初めてです。私は無限ループに陥っていると信じています。私は紙の上でそれを働いて、すべてが大丈夫だと思われる。私は何が欠けていますか?無限ループにこだわった? (Java)

public class Euler2 { 
    public static void main(String[] args) { 
     int i = 1; 
     int j = 2; 
     int fib = 0; 
     int sum = 2; 

     //Sum of even Fibonacci numbers 

     while(fib < 10);{ 
      fib = (i + j); 
      if(fib % 2 == 0);{ 
       sum = sum + fib; 
      } 
      i = j; j = fib; 
     } 
     System.out.println(sum);   
    } 
} 
+12

すべてあなたが 'を取り除く必要があるの最初の;'あなた 'while'文で:'(FIB <10)ながら; ' – user2004685

+0

http://stackoverflow.com/questions/2610679/whats-wrong- with-this-while-loop – Michael

+7

'if(fib%2 == 0); {'行のif(fib%2 == 0){'でなければなりません。 – mc10

答えて

1

while条件と中括弧の間にセミコロンがありますが、これは問題の原因になっている可能性があります。

+3

また、 'if'文の後ろに属しません... – CraigR8806

-1

このコードは機能するはずです。

public static void main(String[] args) { 
    int i = 1; 
    int j = 2; 
    int fib = 0; 
    int sum = 2; 

    //Sum of even Fibonacci numbers 

    while(fib < 10){ 
     fib = (i + j); 
     System.out.println("fib value is: " + fib); 

     if(fib % 2 == 0){ 
      sum = sum + fib; 
     } 
     i = j; j = fib; 
    } 
    System.out.println("total sum is: " + sum);   
} 
+0

私は論理エラーを意味しました。 –

関連する問題