2013-12-22 39 views
0

在給定的代碼中,爲什麼迭代中未捕獲到 加法的結果?爲什麼x的價值從不改變?爲什麼添加的結果沒有在迭代中捕獲?

public class Fortran { 
    static int bump(int i) { return i + 2; } 
    public static void main(String[] args) { 
     for(int x = 0; x < 5; bump(x)) 
     System.out.print(x + " "); 
    } 
} 
+0

更改短寫在你的語句讀取X =凸(x)的最後一行。你沒有捕獲結果。 – sircodesalot

回答

3
  1. 的Java通過複製傳遞值,所以bump只得到的x

  2. 通過bump返回的值永遠不會分配給x複印件(也許你忘了x =)。

也許嘗試

for(int x = 0; x < 5; x = bump(x)) 
+0

謝謝@fdreger – user3126706

0

這只是導致新的值永遠不會分配。 正確的做法更多。

for(int x=0;x<5;x+=2) 
{ 
    //do whatever you want 
} 

NB:X + = 2是X = X + 2

相關問題