2015-04-04 57 views
0

我试图在我的书中使用for-each循环重写一个练习,但它不起作用......我的理解是,循环以索引0的升序从数组的每个元素执行语句。为什么会这样不行?为什么我不能为每个循环分配值? Java

Scanner input = new Scanner(System.in); 

//Fill array with inputs 
int[] numbers = new int[10]; 
System.out.print("Enter 10 integers: "); 
for (int u : numbers) { 
    u = input.nextInt(); 
} 

回答

0

u只保存当前元素的副本。它的分配不会反映在迭代数组上。

+0

啊明白了!所以你只是一个副本,并没有参考数组引用权利? – FabZeros 2015-04-04 18:40:34

0

要改变foreach中的值,你应该使用迭代器。但你可以使用一个简单的,因为你知道数组的大小。

For(int i = 0; i < array.length; i++){ 
     Array[i]=<what you want>; 
    } 
相关问题