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
昨夜西风凋碧树,独上高楼,望尽天涯路
衣带渐宽终不悔,为伊消得人憔悴
众里寻他千百度。蓦然回首,那人却在,灯火阑珊处