java做随机数组不重复

java做随机数组不重复

问:JAVA中怎样实现数组中随机数不重复
  1. 答:可以参考下面的代码:
    public static void main(String[] args) {
    int s = -1;
    int a[] = new int[100];
    int i = 0;
    while (i < 100) {
    s = (int) (Math.random() * 100 + 1);
    for (int j = 0; j < 100; j++) {
    if (a[j] == s) {
    break;
    } else if (j == i) {
    a[i] = s;
    i++;
    break;
    }
    }
    }
    }
    扩展资料:
    java参考函数
    max(x,y) 返回 x 和 y 之间较大的数
    min(x,y) 返回 x 和 y 之间较小的数
    pow(x,y) 返回 y^x 的值
    random() 返回位于 0 到 1 之间的随机函数
    round(x) 四舍五进后与整
    sin(x) 返回数字的正弦值
    sqrt(x) 返回数字的平方根
    tan(x) 返回一个角度的正切值
    toSource() 显示对象的流代码
    valueOf() 返回数教对象的本初值
    参考资料来源:
问:Java如何让随机数不重复?
  1. 答:1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...
    2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ...
  2. 答:让随机数设置成选择不重复,完成操作后再确认
  3. 答:这个是你操作的时候该注意的细心一点儿就不会说。
  4. 答:记录并排除前面。。。。。。。。
问:java 产生随机不重复的数组
  1. 答:最简单(最快想到)的实现的实现方法:
    首先创建一个数组,并为每个元素赋值-1;因为楼主要求从[0,n-1]中取数呀
    其次for循环,随即取值依次填入数组中。
    最后,在上面的for循环中加入判断语句,看随即产生的数 是否与之前的数相同,如不相同,则添加,如相同,则将循环数减一,再次循环。就OK了
    代码如下:
    public int[] RandNum(int m, int n) {
    int[] arr=new int[m];
    for(int i=0;i<m;i++){
    arr[i]=-1;
    }
    Random random=new Random();
    B:for(int i=0;i<m;i++){
    int num=random.nextInt(n);
    for(int j=0;j<i;j++){
    if(arr[j]==num){
    i--;
    continue B;
    }
    }
    arr[i]=num;
    }
    return arr;
    }
    当然还有其他思路,楼主可以自己开拓!
  2. 答://实测高效精确
    int[] RandomNum(int m,int n){
    int[] v = new int[m];
    boolean[] b = new boolean[n];
    Random r = new Random();
    do{
    int x = r.nextInt(n);
    if(!b[x]){
    v[--m]=x;
    b[x]=true;
    }
    }
    while(m>0);
    return v;
    }
  3. 答:so easy,可以给你提供很多种实现,需要了M我,在线
java做随机数组不重复
下载Doc文档

猜你喜欢