设计一个MathUtils.java类文件

(1) 设计静态功能求最大值 getMax , 传入1个int数组类型参数,(2) 设计静态功能求最小值getMin , 传入1个int数组类型参数,返回int类型数据(3) 设计静态功能反转reverse,传入1个int数组类型参数,将数组中的数据反转并将该数组返回(4) 设计静态功能getIndex查找当前数组中数据对应的下标位置,传入1个int数组类型参数和int类型数据,将数组中该数据的下标返回


public class MathUtils {
    /**
     * (1) 设计静态功能求最大值 getMax 传入1个int数组类型参数,返回int类型数据如 [12345] 返回 5 (10分)
     * @param numbers
     * @return
     */
    public static int  getMax(int[] numbers){
        int rs = 0;
        if (numbers==null)
            return rs;
        for (int i = 0; i < numbers.length; i++) {
            if (i==0)
                rs=  Math.max(numbers[i],numbers[i+1]);
            else
                rs=  Math.max(numbers[i],rs);
        }
        return rs;
    }

    /**
     * (2) 设计静态功能求最小值getMin , 传入1个int数组类型参数,返回int类型数据 , 如[1,2,3,4,5] 返回 1 (10分)
     * @param numbers
     * @return
     */
    public static int  getMin(int[] numbers){
        int rs = 0;
        if (numbers==null)
            return rs;
        for (int i = 0; i < numbers.length; i++) {
            if (i==0)
                rs=  Math.min(numbers[i],numbers[i+1]);
            else
                rs=  Math.min(numbers[i],rs);
        }
        return rs;
    }
    /**
     * (3) 设计静态功能反转reverse,传入1个int数组类型参数,将数组中的数据反转并将该数组返回,如[1,2,3,4,5] , 返回[5,4,3,2,1] (10分)
     * @param numbers numbers
     * @return
     */
    public static int[] doReverse(int[] numbers){
        if (numbers==null)
            return new int[]{};
        int[] rs = new int[numbers.length];
        int temp=0;
        for (int i = numbers.length-1; i >= 0; i--) {
            rs[temp] = numbers[i];
            temp++;
        }
        return rs;
    }

    /**
     * (4) 设计静态功能getIndex查找当前数组中数据对应的下标位置,传入1个int数组类型参数和int类型数据,将数组中该数据的下标返回,如,在[11,22,33,44,55] 查找 55 , 返回 下标 4. (10分)
     */
    public static int getIndex(int[] numbers,int number){
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] == number){
                return i;
            }
        }
        return -1;
    }

    /**
     * (5) 设计静态功能交换数组中内容swap,传入1个int数组类型参数,无返回值,如传入[88,99] , 调用swap后数组内容为 [99,88] (10分)
     */
    public static void swap(int[] numbers){
        int temp;
        for (int i = 0; i < numbers.length-1; i++) {
            temp = numbers[i];
            numbers[i] = numbers[i+1];
            numbers[i+1] = temp;
        }
    }

    /**
     * (6) 设计静态功能统计数组中数据的总和 getSum,传入1个int数组类型参数,返回该数组中数据的总和,如 [1,2,3,4,5] 返回 15 (10分)
     */
    public static int getSum(int[] numbers){
        int sum = 0;
        for (int number : numbers) {
            sum += number;
        }
        return sum;
    }
    /**
     * (7) 设计静态功能统计数组中数据的平均值 getAvg, 传入1个int数组类型参数,返回该数组中数据的平均值,如 [1,2,3,4,5] 返回 3 (10分)
     */
    public static float getAvg(int[] numbers) {
        int sum = 0;
        for (int number : numbers) {
            sum += number;
        }
        return (float)sum/numbers.length;
    }
    /**
     *(8) 拓展功能实现 : 设计静态功能排序sort方法,传入1个int数组类型参数,无返回值 如 [ 10,2,8,5,7] , 调用sort后为 [2,5,7,8,10] (20分)
     */
    public static int[] doSort(int[] numbers) {
        Arrays.sort(numbers);
        return numbers;
    }
    public static void main(String[] args) {
        int[] a = new int[]{11,20,2,6,7};
        //1
        System.out.println(getMax(a));
        //2
        System.out.println(getMin(a));
        //3
        System.out.println(Arrays.toString(doReverse(a)));
        //4
        System.out.println(getIndex(a,11));
        //5
        int[] b = new int[]{11,20};
        System.out.println(Arrays.toString(b));
        //6
        System.out.println(getSum(a));
        //7
        System.out.println(getAvg(a));
        //8
        System.out.println(Arrays.toString(doSort(a)));
    }
}