本帖最后由 吴洪标 于 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();
}
} |
|