从网上找到一份编程练习题,我决定将里面的题目全都做一遍。
/*
题目:将一个数组逆序输出。
*/
/*
分析:
不晓得为啥会有这样的题目。
思路一:直接用循环变量控制逆序就好了。但是这应该不是题目的本意。(所以我不这样写!)
思路二:将数组中元素首尾依次对换。
----> 以下是思路二的实现
*/
import java.util.Random;
class NiXuShuChuShuZu {
private static final int ARRAY_SIZE=11;
public static void main(String[] args) {
Random random=new Random();
int[] arr=new int[ARRAY_SIZE];
for (int i=0; i<arr.length; i++){
arr=random.nextInt(100)+1;
}
System.out.println("--------逆序输出前--------");
printArray(arr);
niXu(arr);
System.out.println("\n--------逆序输出后--------");
printArray(arr);
System.out.println();
}
public static void printArray(int[] arr){
for (int element:arr){
System.out.print(element+" ");
}
}
public static void niXu(int[] arr){
int half_length=arr.length/2;
for (int i=0; i<half_length; i++){
swap(arr,i,arr.length-1-i);
}
}
private static void swap(int[] arr,int x,int y){
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
/*
输出结果
--------逆序输出前--------
84 79 34 44 25 1 62 82 52 4 44
--------逆序输出后--------
44 4 52 82 62 1 25 44 34 79 84
*/
|
|