Use the for (int i = 0; i<length; i++) loop to realize the reverse order of the array,
1. When it is judged that i exceeds half of (length-1), stop the for loop
When the first array exceeds 4, stop the for loop
When the second array exceeds 5, stop the for loop
(1) Overall code
/**
* 倒序数组
* @param array
*/
public Object getOrderArray(Object array){
//字符串一维数组
if(array instanceof String[]){
//数组
String[] array2 = (String[]) array;
//数组长度
int length = array2.length;
//倒序的数组
for(int i = 0; i<length; i++){
//超过数组长度一半结束
if( i > (length-1) /2){
return array2;
}
//前一个
String start = array2[i];
//相应后一个
String end = array2[length-1-i];
array2[i] = end;
array2[length-1-i] = start;
}
}
else if(array instanceof int[]){ //int一维数组
//数组
int[] array2 = (int[]) array;
//数组长度
int length = array2.length;
//倒序的数组
for(int i = 0; i<length; i++){
//超过数组长度一半结束
if( i > (length-1) /2){
return array2;
}
//前一个
int start = array2[i];
//相应后一个
int end = array2[length-1-i];
array2[i] = end;
array2[length-1-i] = start;
}
}
else if(array instanceof int[][]){ //int二维数组
//数组
int[][] array2 = (int[][]) array;
//数组列长度
int lengthY = array2.length;
int lengthX = array2[0].length;
//判断列的奇\偶性
int oddEven = lengthY%2; // 0为偶数,1为奇数
//倒序的数组
for(int i = 0; i<lengthY; i++){
for(int j = 0; j<lengthX; j++){
if(oddEven == 0){
//超过数组长度一半结束
if( i > (lengthY-1) / 2){
return array2;
}
}
else if(oddEven == 1){
//超过数组长度一半结束
if( i >= (lengthY-1)/2 && j > (lengthX-1) / 2){
return array2;
}
}
//前一个
int start = array2[i][j];
//相应后一个
int end = array2[lengthY-1-i][lengthX-1-j];
array2[i][j] = end;
array2[lengthY-1-i][lengthX-1-j] = start;
}
}
}
System.out.println("传入数据格式错误!");
return null;
}