请问大佬为何这么写会测试失败!

package com.itranswarp.learnjava;

public class Main {
	public static void main(String[] args) {
		// 用二维数组表示的学生成绩:
		int[][] scores = { 
				{ 82, 90, 91 }, 
				{ 68, 72, 64 }, 
				{ 95, 91, 89 }, 
				{ 67, 52, 60 }, 
				{ 79, 81, 85 }, 
		};

		double average = 0;
		double sum = 0;
		double total = 0;
		for(int i=0; i<scores.length; i++) {
			for(int j=0; j < scores[i].length; j++) {
				sum=sum+scores[i][j];
				average = sum/(i*j); //问题在这
			}
		}
		System.out.println(average);
		if (Math.abs(average - 77.733333) < 0.000001) {
			System.out.println("测试成功");
		} else {
			System.out.println("测试失败");
		}
	}
}

这段代码为什么在我标出注释那里会出现测试失败,如果我把i*j换成15又可测试成功,请问这是什么问题?

总数量少了,i最大值是scores.length-1,j的最大值是scores[0].length-1。

应该是

average = sum / (scores.length * scores[0].length);
System.out.println(average);