打乱数组元素
需求:
一个大V直播抽奖,奖品是现金红包,分别有(2,588 , 888, 1000, 10000)五个奖金。
请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。
public static void main(String[] args) {
//分析 (提高效率,避免无效抽取)
//1.把奖池里的所有奖项先打乱顺序
int[] arr = {2, 588, 888, 1000, 10000};
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
//获取随机索引
int randomIndex = r.nextInt(arr.length);
//打乱顺序
int temp = arr[i];
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
//2.再遍历奖池即可(提高效率,避免无效抽取)
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + "元被抽出!!!");
}
}
控制台
数组元素倒序
public static void main(String[] args) {
//1.定义数组
int[] arr = {8, 3, 4, 6};
//2.数组元素倒序
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
//定义临时变量temp
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//3.遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}