倒序输出,乱序输出核心:交换。
例:键盘录入长度为5的数组,并倒序输出:
//键盘录入数组,输出倒序后的数组
import java.util.Scanner;
public class arraydemo7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//键盘录入
int[] arr = new int[5];//动态初始化数组
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt();//录入元素
}
for (int i = 0,j = arr.length-1;i<j;i++,j--){//多次交换---->直到倒序
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0; i < arr.length; i++) {//输出
System.out.print(arr[i]+" ");
}
}
}
乱序输出:跟随机索引交换
例:定义一个数组,存入1~5,打乱顺序后输出
//定义一个数组,存入1~5,打乱顺序后输出
//打乱顺序:跟随机索引进行交换
import java.util.Random;
public class arraydemo8 {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
Random r = new Random();
int randomIndex = r.nextInt(arr.length);//产生 0~4 的一个随机数
for (int i = 0; i < arr.length; i++) {
int temp = arr[i];//与随机索引交换
arr[i]=arr[randomIndex];
arr[randomIndex]=temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}