在我的程序中,我需要一个for-each循环,它计算给定数组中的均数,并为每个循环增加变量even.当我使用标准for循环时,即(i = 0; i < numbers.length; i++;)代码工作正常.但是,我的作业要求我为这个特定问题使用for-each循环.难道我做错了什么?
int [] numbers = new int[8];
int even = 0;
int odd = 0;
for (int i = 0; i < numbers.length; i++) {
numbers[i] = (int)(Math.random() * 51 + 50);
}
for (int i : numbers) {
if (numbers[i] % 2 == 0) {
even++;
}
else
odd++;
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 54
Run Code Online (Sandbox Code Playgroud)