每日一练26——Java求数组平均值(8kyu)

题目

这是学年结束,你学校报告的决定性时刻。平均值必须计算。所有的学生都来找你,并恳求你计算他们的平均值。简单 !你只需要写一个脚本。

将给定数组的平均值向下舍入为最接近的整数。

该数组永远不会为空。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class SolutionTest {
    @Test
    public void simpleTest() {
        assertEquals(2,School.getAverage(new int[] {2,2,2,2}));
        assertEquals(3,School.getAverage(new int[] {1,2,3,4,5}));
        assertEquals(1,School.getAverage(new int[] {1,1,1,1,1,1,1,2}));
    } 
}

解答

我的:

public class School{

    public static int getAverage(int[] marks){
       int sum = 0;
       for (int mark: marks) {
            sum += mark;
       }
    return sum / marks.length;
    }

}

写完我就觉得,没那么简单。

别人的:

import java.util.stream.*;

public class School{

   public static int getAverage(int[] marks){
    return (IntStream.of(marks).sum())/marks.length;
  }

}

思考

递归法也可以不遍历求和,下次试试。

你可能感兴趣的:(每日一练26——Java求数组平均值(8kyu))