2013-12-22 40 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

相关问题