weixin_53046280 2021-02-05 17:04 采纳率: 0%
浏览 22

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

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又可测试成功,请问这是什么问题?

  • 写回答

1条回答 默认 最新

  • storm_huang 2021-02-05 17:16
    关注

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

    应该是

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

报告相同问题?

悬赏问题

  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊