生成不重复随机数 java

angryTom
angryTom原创
2019-11-11 13:40:472318浏览

生成不重复随机数 java

java生成随机数可以使用Math类中的方法。不随机可以使用List进行判断存储。(推荐教程:java教程

1 . 调用java.lang下面Math类中的random()方法产生随机数

新建一个文件后缀名为java的文件,文件名取为MyRandom,该类中编写如下的代码:

public class MyRandom {
    public static void main(String[] args) {
        int radom = (int)(Math.random()*10);
        System.out.println(radom);
    }
}

其中Math.random() //产生0~1之间的一个随机小数。

产生一个0~9之间的整数为:(int)(Math.random()*10);

产生一个1~10之间的整数则可以写着:(int)(Math.random()*10 + 1);

以此类推:产生一个0~n之间的数就应写作:Math.random()*n;

例如:生成一个int类型的数组,长度为50的,并向其中随即插入0-50之间的数,并且不能重复。

2. 用List的contains方法进行重复判断

public class MyRandom {
public static void main(String[] args) {
    int[] intRandom = new int[50];
    List mylist = new ArrayList(); //生成数据集,用来保存随即生成数,并用于判断
    Random rd = new Random();
    while(mylist.size() < 50) {
        int num = rd.nextInt(51);
        if(!mylist.contains(num)) {
        mylist.add(num); //往集合里面添加数据。
    }
    }
    for(int i = 0;i <mylist.size();i++) {
        intRandom[i] = (Integer)(mylist.get(i));
    }
}
}

以上就是生成不重复随机数 java的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。