2016-03-31 178 views
1

所以,如果我做一個方法,應該返回值它不。我知道我可以很容易地做到這一點,但任何人都可以解釋爲什麼循環不返回值是一個簡單的例子。不從循環返回值

public static int EvenNumberGenerator(int y) 
{ 
    for (int x = 0; x <= y; x++) 
    { 
     if (x % 2 == 1) 
     { 
      continue; 
     } 

     return x; 
    } 
} 

我也嘗試過通過移動繼續一部分,只是有兩個遞增,但它仍然會說,不是所有的路徑返回值。

回答

5

它仍然會說,不是所有的路徑返回值

它說,因爲會發生什麼,如果y<0?循環未運行且沒有執行任何return語句。

同樣在你的情況下,如果y>=0它會立即返回(0),這是你想要的嗎?

1

我相信你稍微誤解了這個問題。

問題不是循環不會退出,而是循環從不輸入。如果Giorgi說過,想象一下已經符合退出情況的Y的值(x < = y) - 在這種情況下,for循環將永遠不會被輸入。

+0

對不起,我完全忘記了這一點。謝謝你! –