package test;
import java.util.Random;
public class text4 {
//抢红包
public static void main(String[]args) {
/*
*需求:
*一个大V直播抽奖,奖品是现金红包,分别有{2,588,888,1000,10000}5个奖金
*请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。
*打印结果如下:(随机顺序,不一定是下面的顺序)
*888元的奖金被抽出
*10000元的奖金被抽出
*1000元的奖金被抽出
*588元的奖金被抽出
*2元的奖金被抽出*/
/*分析:
* 1.定义数组表示奖池,把奖池里面的所有奖项顺序打乱*/
int[] arr= {2,588,888,1000,10000};
//2.定义新数组用于存储抽奖的结果
int[] newArr=new int[arr.length];
//3.抽奖
Random r=new Random();
//这样做的结果就是不会抽到无效数字(重复的数字),可以提高效率
//因为有5个奖项,所以要循环5次
for(int i=0;i<arr.length;i++) {
//获取随机索引
int randomIndex=r.nextInt(arr.length);
//拿着i跟随机索引randomIndex上的值进行交换
int temp=arr[i];
arr[i]=arr[randomIndex];
arr[randomIndex]=temp;
}
//2.遍历奖池,从0索引开始获取每一个奖项
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]+"元奖金被抽出");
}
}
}
运行结果:
需求描述
package test;
import java.util.Random;
public class text4 {
//抢红包
public static void main(String[]args) {
/*
*需求:
*一个大V直播抽奖,奖品是现金红包,分别有{2,588,888,1000,10000}5个奖金
*请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复。
*打印结果如下:(随机顺序,不一定是下面的顺序)
*888元的奖金被抽出
*10000元的奖金被抽出
*1000元的奖金被抽出
*588元的奖金被抽出
*2元的奖金被抽出*/
/*分析:
* 1.定义数组表示奖池,把奖池里面的所有奖项顺序打乱*/
int[] arr= {2,588,888,1000,10000};
//2.定义新数组用于存储抽奖的结果
int[] newArr=new int[arr.length];
//3.抽奖
Random r=new Random();
//这样做的结果就是不会抽到无效数字(重复的数字),可以提高效率
//因为有5个奖项,所以要循环5次
for(int i=0;i<arr.length;i++) {
//获取随机索引
int randomIndex=r.nextInt(arr.length);
//拿着i跟随机索引randomIndex上的值进行交换
int temp=arr[i];
arr[i]=arr[randomIndex];
arr[randomIndex]=temp;
}
//2.遍历奖池,从0索引开始获取每一个奖项
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]+"元奖金被抽出");
}
}
}