I'm trying to average a 2D array column. My code seems to add the number in the row and then divide by the total. In this example there should only be 4 assignments, yet it loops 12 times. Anyone know what's wrong with my code? The numbers are being inputted from a text file, higher up in the full code (not sure if that affects it).
Example Arrays:
[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));
}
}
Here is my output:
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
Desired Output:
Assignment #1 Average: 2.666666666
Assignment #2 Average: 3.333333333
Assignment #3 Average: 4.666666666
Assignment #4 Average: 5.333333333