0

我在互联网上找不到任何提示。几乎提到'for each'说“不能改变分配给数组的值”是不可能的吗?我的代码是这样的:

Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for(int i : arr)
    i = in.nextInt();

我想使用'for each'并通过使用 Scanner 类读取数字请帮助我..

4

2 回答 2

4

使用一个简单的for循环,并将读取的数字添加到i数组的 -th 位置:

Scanner in = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
    arr[i] = in.nextInt();
}

在您的特定场景中使用增强循环没有多大意义for,因为您的数组最初是空的。但是,您可以使用它来迭代创建的数组,即:

for (int i : arr) {
  System.out.println(i);
}
于 2012-09-25T13:42:12.733 回答
0

就这么简单:-

Scanner in = new Scanner(System.in);
int[] arr = {0, 1, 2, 3, 4};

for (int i : arr) {
    arr[i] = in.nextInt();
}

但是如上所述João Silva,您应该只使用 for-each 循环来迭代已经初始化的数组,而不是初始化它。

于 2012-09-25T13:46:47.520 回答