【发布时间】:2019-11-10 22:27:46
【问题描述】:
我正在尝试平均一个二维数组列。我的代码似乎将数字添加到行中,然后除以总数。在这个例子中应该只有 4 个分配,但它循环了 12 次。有人知道我的代码有什么问题吗?这些数字是从文本文件中输入的,在完整代码中较高(不确定这是否会影响它)。
示例数组:
[2,3,6,7]
[4,5,6,7]
[2,2,2,2]
System.out.println("Average score of each assignment:");
//TODO: compute and print the average on each assignment
double total = 0;
int totallength = 0;
int assignment = 1;
for (int i = 0; i < myArray.length; i++) {
for (int j = 0; j < myArray[i].length; j++) {
total += myArray[i][j];
totallength++;
System.out.println("Assignment #" + assignment++
+ " Average: " + (total / totallength));
}
}
这是我的输出:
Average score of each assignment:
Assignment #1 Average: 2.0
Assignment #2 Average: 2.5
Assignment #3 Average: 3.6666666666666665
Assignment #4 Average: 4.5
Assignment #5 Average: 4.4
Assignment #6 Average: 4.5
Assignment #7 Average: 4.714285714285714
Assignment #8 Average: 5.0
Assignment #9 Average: 4.666666666666667
Assignment #10 Average: 4.4
Assignment #11 Average: 4.181818181818182
Assignment #12 Average: 4.0
期望的输出:
Assignment #1 Average: 2.666666666
Assignment #2 Average: 3.333333333
Assignment #3 Average: 4.666666666
Assignment #4 Average: 5.333333333
【问题讨论】:
-
2 个 for 循环,3 个元素之一,4 个元素中的另一个 - 为什么您希望它不会运行 12 次?
-
@NirLevy 抱歉。我解释得不够好。我添加了所需的输出以显示我正在尝试做的事情
标签: java arrays multidimensional-array average