第一种方法,在一个待选数组中随机产生一个数,然后把他放到待选数组的最后,然后从length-1里随机产生下一个随机数,如此类推 public static int[] randoms() { Random r = new Random(); int temp1,temp2; int send[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}; int len = send.length; int returnValue[] = new int[22]; for(int i=0;i<22;i++) { temp1 = Math.abs(r.nextInt())% len; returnValue[i] = send[temp1]; temp2 = send[temp1]; send[temp1] = send[len-1]; send[len-1] = temp2; len--; } return returnValue; } }
方法二:还是一个固定的无重复的数组,然后把这个数组随机调换位置,多次之后这个数组就是一个无重复的随机数组了。 public static int[] random2() { int send[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}; int temp1,temp2,temp3; Random r = new Random(); for(int i=0;i<send.length;i++) //随机交换send.length次 { temp1 = Math.abs(r.nextInt())%(send.length-1); //随机产生一个位置 temp2 = Math.abs(r.nextInt())%(send.length-1); //随机产生另一个位置 if(temp1 != temp2) { temp3 = send[temp1]; send[temp1] = send[temp2]; send[temp2] = temp3; } } return send; } |
相关推荐
java生成十个不重复的随机数,要求不重复
巧用Java实现得到任意位永不重复的随机数,很经典的代码!
该代码采用面向对象语言实现不重复的随机数,用四种方法。谢谢参考
直接运行main即可,参数为数字范围 比如10 运行后会输出9,3,0,7,2,8,4,1,5,6,
java 不重复的随机数序列 java 不重复的随机数序列
Java中不重复随机数的生成与分析
多种生成不重复随机数的java 源代码,在线考试系统组卷系统中若需要随机抽题技术,这些代码可能会帮上忙!
玩法2:6+1(可以重复,选的号码在相同的位数上中了几多个,只算从一到九不算0) 输入7个数字(代表购买彩票的号码,最后一位特别号) 根据用户选择的玩法,随机生成开奖号码,与用户输入的号码比较,判断是否中奖...
生产不重复19位随机数,测试1000000数据没重复
在Struts+Spring+Mybatis基础上写的比较灵活的产生随机数,可以用到用户编号随机产生,其中验证了随机数不会重复产生。
主要介绍了Java实现生成n个不重复的随机数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在开发过程中,会遇到生成XX编号之类的数据,而且这编号不能重复,所以根据当前时间,生成8位不重复的数.
主要介绍了JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
你中过奖么?利用java实现一个35选7的彩票中奖号码产生程序。随机产生7个1至35之间(包括1和35)的不重复整数,并输出...随机数生成方法见JDK API的java.lang.Math类的random函数。(练习循环与break、continue、数组)
使用了ArrayList和简单的循环来达到目的。用输入数字作为触发器。
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
主要介绍了Java编程实现生成给定范围内不重复随机数的方法,结合实例形式总结分析了java基于数学运算与判断实现不重复随机数的生成功能,需要的朋友可以参考下
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 不重复的随机数方案2:297毫秒 但是方案1采用了slice方法,此方法重新生成数组,会大量占用内存和cpu运算, 效率很低,所以改良一下,从原始数组取出一个数, 然后...
主要介绍了java的三种随机数生成方式的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧