编写一个数组的工具类:ArraysUtils

需求:在实际开发中,经常会遇到一些数组使用的工具类。请按照如下要求编写一个数组的工具类:ArraysUtils

1.我们知道数组对象直接输出的时候是输出对象的地址的,而项目中很多地方都需要返回数组的内容,请在ArraysUtils中提供一个工具类方法toString,用于返回整数数组的内容,返回的字符串格式如:[10, 20, 50, 34, 100](只考虑整数数组,且只考虑一维数组)

2.经常需要统计平均值,平均值为去掉最低分和最高分后的分值,请提供这样一个工具方法getAerage,用于返回平均分。(只考虑浮点型数组,且只考虑一维数组)

3.定义一个测试类Test,调用该工具类的工具方法,并返回结果。
测试类:
public class Test {
public static void main(String[] args) {
int[] arr = {10, 20, 30,40,50};
System.out.println(ArrayUtils.toString(arr));
System.out.println(ArrayUtils.getAverage(arr));

    int[] arr1 = null;
    System.out.println(ArrayUtils.toString(arr1));
    System.out.println(ArrayUtils.getAverage(arr1));
    int[] arr2 = {};
    System.out.println(ArrayUtils.toString(arr2));
    System.out.println(ArrayUtils.getAverage(arr2));
}

}

运行程序输出如下:
[10,20,30,40,50]
30.0
null
0.0
[]
0.0

package com.imooc.utils;

import com.alibaba.fastjson.JSON;

/**
 * 数组工具类
 */
public class ArrayUtils {
    public static String toString(int[] args) {
        return JSON.toJSONString(args);
    }

    /***
     * 去除一个最高最低分后求均值
     * 
     * @param args 数组
     * @return 均值
     */
    public static Float getAverage(int[] args) {
        args = BubbleSortMethod(args);
        int count = 0;
        if (args == null || args.length == 0) {
            return 0f;
        }
        for (int i = 1; i < args.length - 1; i++) {
            count += args[i];
        }
        return count * 1.0f / (args.length - 2);
    }

    /**
     * 冒泡排序
     * 
     * @param arr 待排序数组
     * @return 排序后数组
     */
    public static int[] BubbleSortMethod(int[] arr) {
        if (arr == null || arr.length == 0) {
            return arr;
        }
        int temp = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        return arr;
    }

    /**
     * 主方法测试
     * 
     * @param args
     */
    public static void main(String[] args) {
        int[] arr = {10, 20, 30, 40, 50};
        System.out.println(ArrayUtils.toString(arr));
        System.out.println(ArrayUtils.getAverage(arr));

        int[] arr1 = null;
        System.out.println(ArrayUtils.toString(arr1));
        System.out.println(ArrayUtils.getAverage(arr1));
        int[] arr2 = {};
        System.out.println(ArrayUtils.toString(arr2));
        System.out.println(ArrayUtils.getAverage(arr2));
    }

}

效果:

img