计算二维数组中一行的平均值



我有这个简单的方法打印一个二维数组:

public static void printtda() {
    int[][] temps = { {27,28,26,29,30}, {26,25,25,37,40} };
    for (int i=0; i<temps.length; i++) {
        for (int g=0; g< temps[i].length; g++) {
            System.out.print(temps[i][g] +"  ");
        }
        System.out.println();
    }   
}

我现在要寻找的是一种打印每行平均值的方法,所以27,28,26,29,3026,25,25,37,40的平均值。

欢迎回复

在循环遍历每个数组时应该创建一个sum:

public static void printtda() {
  int[][] temps = { {27,28,26,29,30}, {26,25,25,37,40} };
  for (int i=0; i<temps.length; i++) {
    int sum = 0;
    for (int g=0; g< temps[i].length; g++) {
        sum+=temps[i][g];
        System.out.print(temps[i][g] +"  ");
    }
    System.out.println(sum/temps[i].length);
    System.out.println();
  }   
}

您可以使用java 8 IntStream:

public static void printtda() {
    int[][] temps = { {27,28,26,29,30}, {26,25,25,37,40} };
    for (int i=0; i<temps.length; i++) {
        for (int g=0; g< temps[i].length; g++) {
            System.out.print(temps[i][g] +"  ");
        }
        double avg = IntStream.of(temps[i]).avarage().getAsDouble();
        System.out.println("The avarage is: " + avg);
        System.out.println();
    }   

}

相关内容

  • 没有找到相关文章

最新更新