我无法弄清楚这个与数组和循环相关的方程式
I can't figure out this equation related to array and loops
我正在通过 edx 参加在线 java 课程,我被告知以下等式。
int[] array = new int[] {11, 22, 33, 44, 55};
double average = 0;
for (int element : array){
average += element;
}
if (array.length > 0){
average = average / array.length;
}
System.out.println(average);
问我的问题是 "What does it print?",答案是 33,但我花了 3 个小时试图计算它,我一生都无法得到正确的答案。
but I have spent 3 hours trying to calculate it
这就是发明计算机的原因...不,但要回答您的问题:
这很容易计算。你把前半部分加到后半部分,像这样:
11+55 + 22+44 + 33
所有这些(除了最后一个)都等于 66。
因此,你对 66 求和两次,再加上 33,得到 165。
165 除以 5(数组中值的个数)得到 33。
您展示的代码只是简单地进行了计算(将所有值一一求和,然后除以数组长度)
这能解释为什么答案是 33 吗?
我正在通过 edx 参加在线 java 课程,我被告知以下等式。
int[] array = new int[] {11, 22, 33, 44, 55};
double average = 0;
for (int element : array){
average += element;
}
if (array.length > 0){
average = average / array.length;
}
System.out.println(average);
问我的问题是 "What does it print?",答案是 33,但我花了 3 个小时试图计算它,我一生都无法得到正确的答案。
but I have spent 3 hours trying to calculate it
这就是发明计算机的原因...不,但要回答您的问题:
这很容易计算。你把前半部分加到后半部分,像这样:
11+55 + 22+44 + 33
所有这些(除了最后一个)都等于 66。
因此,你对 66 求和两次,再加上 33,得到 165。
165 除以 5(数组中值的个数)得到 33。
您展示的代码只是简单地进行了计算(将所有值一一求和,然后除以数组长度)
这能解释为什么答案是 33 吗?