2015-04-04 91 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>; 
    } 
相關問題