博舍

js随机数1到10生成不重复的 js随机生成1到100随机数不重复

js随机数1到10生成不重复的

原文:http://vtuce.cn/p/19.html

以下生成0-9的随机数

Math.floor(Math.random()*10);

需要1-10,将运算结果+1即可。

若要生成不重复的随机数,可以用数组存储已经生成的数,新生成的数据若不在数组中就满足条件。。。

vararr=[1,2,3,4,5];functiongetNumNoRepeat(){varmaxTimes=20;do{varnum=Math.floor(Math.random()*10)+1;if(-1==arr.indexOf(num)){//数组中不存在arr.push(num);returnnum;}maxTimes--;}while(maxTimes);}console.log(getNumNoRepeat());arr应该定义在一个不随页面刷新地方,比如说localstoragemaxTimes必须存在,是因为所有随机数如果都存入了数组,循环就死循环了

Java基础之取指定范围内随机数(不重复)

一、利用数组和布尔变量

在没有学习集合之前,使用数组生成随机数有两种方案,下面介绍两种:

两重循环+布尔变量,在刚学习完数组之后遇到一个双色球练习,要求在1~33取不重复的数,当时只能想到这种方法。importjava.util.Random;//利用数组生成6个1-10内不重复的随机数publicclassDemo{publicstaticvoidmain(String[]args){Randomra=newRandom();//新建一个数组,用来存不重复的随机值int[]arr=newint[6];//生成第一个随机数并插入数组arr[0]=ra.nextInt(10)+1;//对while循环初始值赋值为1inti=1;//利用双重循环去重并插入进数组while(iif(r==arr[m]){bool=false;break;}}//判断是否出现重复,若没有,bool为true,i++进行下一个外循//环;若重复进行下一次外循环i不变if(bool){arr[i]=r;i++;}}for(inta:arr){System.out.print(a+"");}}}利用双重循环+布尔数组importjava.util.Random;publicclassDemo2{//生成1-10不重复的随机数publicstaticvoidmain(String[]args){Randomran=newRandom();intn=20;intra=0;//建立布尔数组,长度应大于等于随机数范围最大值,里面默认每个元素为falseboolean[]bool=newboolean[n];for(inti=0;i//生成随机数,直到布尔数组里对应随机数的索引为false,由于每生成一个随机数,//在布尔数组里对应的随机数索引值就赋值为true,就可以保证每次输出的数不重复。ra=ran.nextInt(10)+1;}while(bool[ra]);bool[ra]=true;System.out.print(ra+"");}}}二、利用集合

在学习了集合之后,生成不重复随机数也变得简单了起来。

利用List集合ArrayList是List接口下的一个实现类,List接口继承了父类Collection中的contains方法,来判断集合中是否包含了给定元素,可以来实现不重复取随机数。importjava.util.ArrayList;importjava.util.Random;publicclassDemo4{publicstaticvoidmain(String[]args){ArrayListlist=newArrayList();Randomra=newRandom();inti=0;while(ilist.add(r);i++;}}System.out.println(list);}}利用Set集合Set集合有集合内元素不允许重复的特点,可以用来取不重复的随机数,代码如下:importjava.util.HashSet;importjava.util.Random;publicclassDemo5{//取六个1-10不重复的随机数publicstaticvoidmain(String[]args){//HashSet集合中不允许用重复HashSetset=newHashSet();Randomra=newRandom();do{intr=ra.nextInt(10)+1;set.add(r);}while(set.size()

实现js随机数不重复的有效方法

这是关于js随机数的第二篇文章了,在上一篇文章《js随机数Math.round()的用法详解》中,我们产生的随机数,但是发现这些随机数竟然会重复,然而实际应用中有时是需要不重复的随机数,这可咋办?那么本文给出实现js随机数不重复的有效方法。

有效方法的思路:可以利用数组的特性,先创建一个数组arr,用for循环给数组arr赋值,然后用Math.random()将数组值打散,最后用for循环依次输出数组值,就这样可以做到js产生随机数永不重复,效率高且耗时短,具体的请看如下代码:

    var count=10; //随机数的数量    var arr=new Array; //定义一个arr数组    //给arr数组赋值    for (var i=0;i

Java 数组练习题:随机生成10个整数,并添加到一个数组中,数组不允许添加重复的数字【多测师

java实现猜数字游戏【多测师_何sir】

多测师_何sir:你想要是java开发界面?还是H5

java实现猜数字游戏【多测师_何sir】

m0_71807225:怎么实现有界面啊小白一个

charles抓包工具之抓取手机应用访问的数据包详细教程【多测师_何sir】

多测师_何sir:你可以稍微再说具体点吗?

charles抓包工具之抓取手机应用访问的数据包详细教程【多测师_何sir】

weixin_45188763:你这个只能针对没有检测代理的,如果是检测代理的你怎么操作?

IntelliJIDEA2019的详细安装教程【多测师_何sir】

zYuhaaa:666

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇