首页 > 代码库 > JAVA数组翻转

JAVA数组翻转

由于第一次写博客,希望和大家共同进步,一起努力。

 

首先可

public class RevcArr {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []arr = {11,22,33,44,55,66,77};
		for(int x=0;x<arr.length;x++){
		System.out.println(arr[x]);
		}
	}

}

  

以有一个对照组,运行后的结果如下:

11 
22 
33 
44 
55 
66 
77 

  这是正常的数组,要做的是将所有数字进行反转。而不是这样的翻转:

public class RevcArr {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []arr = {11,22,33,44,55,66,77};
		for(int x=0;x<arr.length;x++){//对照组
		System.out.println(arr[x]+" ");
		System.out.println("*");
		}
		for(int x=arr.length-1;x>=0;x--){
			System.out.println(arr[x]+" ");
		}
	}

}

  这样的翻转虽然结果可以变成翻转的结果,但是也将arr[0]等地址顺序也进行了翻转。不过还是将结果奉上:

11 
*
22 
*
33 
*
44 
*
55 
*
66 
*
77 
*
77 
66 
55 
44 
33 
22 
11 

  所以最好还是这样翻转:

public class RevcArr {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []arr = {11,22,33,44,55,66,77};
		for(int x=0;x<arr.length;x++){
		System.out.println(arr[x]);
		System.out.println("*");
		}
RevcArr(arr);//这是对数组在翻转类中进行的翻转
print(arr);//这是在打印输出
	}
public static void RevcArr(int[]arr){
	for(int x=0;x<arr.length/2;x++){
		int a = arr[x];
		arr[x]=arr[arr.length-1-x];
		arr[arr.length-1-x]=a;

	}
}
public static  void print(int []arr){
	for(int x=0;x<arr.length;x++){
		System.out.println(arr[x]);
}
}
}

  结果:

11
*
22
*
33
*
44
*
55
*
66
*
77
*
77
66
55
44
33
22
11

  

JAVA数组翻转