为了账号安全,请及时绑定邮箱和手机立即绑定

最好成绩数组

最好成绩数组

有只小跳蛙 2021-09-03 17:33:45
所以我必须这样做“打印测试分数,找到班级的总体平均水平,以及哪一行的平均水平最好。” 我很困惑public class TESTAVG {    public static void main(String[]args) {        int array1[][] = {{90, 80, 65, 100}, {55, 94, 86,}, {82}, {77, 100}};        System.out.println(array1);    }} //[[I@2a139a55
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

要找到哪个子数组的平均值更大,您必须计算它们并保持 max :


public static void main(String[] args){

    int array1[][] = {{90, 80, 65, 100}, {55, 94, 86}, {82}, {77, 100}};

    double maxAverage = Double.MIN_VALUE;

    for(int[] sub : array1){                       //iterate over sub-arrays

        double average = averageOfArray(sub);      //compute its average

        maxAverage = Math.max(maxAverage, average);//get the max of it and the previous max

    }

    System.out.printn(maxAverage)

}


static double averageOfArray(int[] array){

    double sum = 0;

    for(int i=0; i<array.length; i++){

        sum += array[i];

    }   

    return sum/array.length;

}

或作为 Java 8 升级方式:


int array1[][] = {{90, 80, 65, 100}, {55, 94, 86,}, {82}, {77, 100}};

double maxAverage = Arrays.stream(array1).mapToDouble(sub -> Arrays.stream(sub).average().orElse(0)).max().orElse(0);

System.out.println(maxAverage)


查看完整回答
反对 回复 2021-09-03
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

当您需要对数组进行字符串化时,您可以使用Arrays.toString(arr); 对于多维数组,您应该使用 Arrays.deepToString(arr);


int array1[][] = {{90, 80, 65, 100}, {55, 94, 86,}, {82}, {77, 100}};

System.out.println(Arrays.deepToString(array1));

[[90, 80, 65, 100], [55, 94, 86], [82], [77, 100]]


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信