2014-10-18 69 views
2

奇數我已經寫了下面的代碼:乘以1-15

int oddProd = 1; 

    for(int count = 1; count >= 15; count++){ 
     if (count % 2 != 0) 
      oddProd = oddProd * count; 
    } 
    System.out.println("Odd Product: " + oddProd); 

爲什麼不這項工作?它輸出1,我檢查,它甚至沒有進入for循環!

+1

'for(start; WHILE_THIS_IS_TRUE; incr)' – user2864740 2014-10-18 23:46:35

+0

@owlstead:很高興。 – 2014-10-19 00:18:31

+1

Dupe:http://stackoverflow.com/q/10516248/589259 – 2014-10-19 00:19:42

回答

5

的for循環的中間部分是布爾檢查,而你將永遠是假的:

count >= 15; 

這是行不通的,因爲它不會在一開始是真的,你的循環韓元沒有開始。在greter比運營商更改爲不到一:

count <= 15; 
6
for(int count = 1; count >= 15; count++){ 

你有書面表達圍繞着錯誤的方式;現在是count >= 15,但它應該是count <= 15

+0

不知道爲什麼有人會投下正確的答案。 1+ – 2014-10-18 23:44:11

+0

@HovercraftFullOfEels很顯然,有些人認爲應該回答應該被低估的問題的答案。這是一個愚蠢的心態,但我當然看到它。 – Pokechu22 2014-10-18 23:45:59