A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 吴洪标 于 2018-11-30 13:29 编辑

/*
将一个数组的元素前后反转
运用了泛型,定义了打印数组元素的方法,以及反转数组元素的方法*/
public class ArrayReverse {
    public static void main(String[] args) {
        Integer[] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9};
        Double[] doubleArray = {1.0, 2.0, 3.0, 4.0};
        String[] stringArray = {"","","","",""};
        arrayReverse(intArray);
        arrayReverse(doubleArray);
        arrayReverse(stringArray);
    }

    //定义打印数组元素的方法
public static <T> void arrayPrint(T[] inputArray) {
        //泛型<T>,接受不同类型的数组作为参数,根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。
        for (T element : inputArray) { //for循环变量数组的每一个元素
                System.out.printf("%s", element);
        }
        System.out.println();
    }

    //定义反转数组元素的方法
public static <T> void arrayReverse(T[] inputArray) {
        arrayPrint(inputArray);
        //这里for循环只遍历到数组的一半,通过array.length-i-1来定位对称位置的数组元素
        for (int i = 0; i < (inputArray.length / 2); i++) {
            T temp;
            temp = inputArray;
            inputArray = inputArray[inputArray.length - i - 1];
            inputArray[inputArray.length - i - 1] = temp;
        }
        arrayPrint(inputArray); //调用数组打印方法
        System.out.println();
    }
}

ArrayReverse.png (2.85 KB, 下载次数: 22)

程序运行结果

程序运行结果

1 个回复

正序浏览
一个人一座城0.0 来自手机 中级黑马 2018-11-30 13:58:56
沙发
到此一游。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马