2015-03-25 89 views
-1

我刚刚写了一个程序,以增加数组的值1。但是,当我使用增强for循环,我无法添加得到相同的结果...... 。 使用LOOP为什么这两个多方法程序有不同的结果

class array{ 
public static void main(String args[]){ 
    int rajath[]={11,22,33,44}; 
    change(rajath); 
    for(int x:rajath){ 
     System.out.println(x); 
    } 
} 

public static void change (int x[]){ 
    for(int i=0;i<x.length;i++){ 
     x[i]++; 
    } 
} 
} 

增强的for循环

class array{ 
public static void main(String args[]){ 
    int rajath[]={11,22,33,44}; 
    change(rajath); 
    for(int x:rajath){ 
     System.out.println(x); 
    } 
} 

public static void change (int x[]){ 
    for(int i:x){ 
     i++; 
    } 
} 

}

+0

i是阵列的元件,而不是阵列中的元件在递增的元素。 – Stultuske 2015-03-25 09:53:48

+0

增强型for循环将复制数组的值,因此它不会更改数组中的值。 – AntonH 2015-03-25 09:54:16

回答

3

您增强的for循环相当于:

for(int i=0;i<x.length;i++){ 
    int k = x[i]; 
    k++; 
} 

这与您的常规循环不一样。

您的常规for循环会增加数组的元素,而您的增强for循环会增加这些元素的副本。

0

在增强的for循环你递增块变量i
在For循环你阵列

相关问题