1. 程式人生 > >JAVA數組翻轉

JAVA數組翻轉

[0 反轉 pre 打印 最好 print ring arr length

由於第一次寫博客,希望和大家共同進步,一起努力。

首先可

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數組翻轉