2013-09-10 60 views
0

說出length=11並且我想在每個循環中從它減去2,直到它達到1for方法的代碼是否正確?那麼while循環是什麼?你如何從Java中的計數器中減去一個值?

for(int i =length ; i!=1; i-=2) 

編輯:這是問題。爲了解決它,我做了一個if語句,如果長度%2 == 1我會使用上面列出的for循環。然後,我將寫一個其他的說明修改上面的代碼停在0這是否有意義?

數字輸入的奇數位置(從右到左從1開始,作爲最右邊的數字)的所有數字之和。 (例如,如果輸入是432677,則總和將是7 + 6 + 3 = 16)

+1

我可能會嘗試使用'I> = 1',而不是'我= 1' – MadProgrammer

+2

這是因爲,如果長度是連我自己都 「小姐」 1並延續下來的負面!永遠的號碼 –

回答

3

如果1是包含性的,則可以嘗試:

for(int i = length; i >= 1; i -= 2){ ... } 

或者

for(int i = length; i > 0; i -= 2){ ... } 

如果1是排他性的,你可以嘗試:

for(int i = length; i > 1; i -= 2){ ... } 
+1

不,不,不。 11,9,7,5,3,*** 1 ***。 – hexafraction

+0

- 原因不正確,但代碼接近/正確。 「達到」最終會成爲關鍵字 - –

+0

呃,他有50%的正確率。 –

4
  1. 因爲不是一種方法。這是一種語言結構。只是一個挑剔。

  2. 差不多。如果i開始,即使你永遠不會結束。用途:

    for(int i =length ; i>1; i-=2) 
    
相關問題