我们知道 Random random = new Random() 中可能会获取到重复的随机数 那么假设要获取1到33之间的六个不重复随机数应该怎么做呢? 首先定义一个数字数组存储1到33 int[ ] redBall = new int[33[; for(int i = 0;i<redBall.length;i++){ redBall[i] = i+1; } int[ ] redNumber = new int[6]; //存储六个随机数的实际数组 int index = -1;
代码来自:https://www.cnblogs.com/ningvsban/p/3590722.html,感觉实现的方式不错(做了一点小小修改) public static ArrayList getDiffNo(int count, int n){ // 生成count个[0-n) 不重复的随机数,左开右闭 // list 用来保存这些随机数 ArrayList list = new ArrayList(); Random rand = new Random(); boolean[] boo
function getarray(arr,num){ //复制数组,不能直接在原数组上修改 var temparr=new Array(); //遍历原数组 for(var i in arr){ //将原数组中数据一个个压入新数组中 temparr.push(arr[i]); } var returnarr=new Array(); for(var i=0;i<num;i++){ //判断数组是否还有可以取出的数字,防止下标越界 if(temparr.length>0){ //随机生成数字在