A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Test{
        public void fun(){
        Random r= new Random();
        int[] a = new int[name.length];
        //int index1 =0;//数组下标。
        int index2;//该变量用于接收产生的随机数。
        //需要产生十个随机数,所以需要循环十次。
        for (int i =0;i<10 ;i++ ) {
        while (true) {
                index2 = r.nextInt(a.length)+1;
                boolean b =true;//用于控制while循环的结束
                for (int j =0;j<a.length ;j++ ) {
                    if (a[j]==index2) {
                                b =false;//如果数组a中有和产生的随机数相等的元素,b等于false,while循环不结束,
                                //接着再产生随机数,再去比较。
                    }
                }
                if (b) {//如果数组a中没有和产生的随机数相等的元素,b的值在上一步中没有修改成false,在这一步中
                        //b等于true,进来以后执行break,结束while循环。
                        break;
                }
        }
        //a[index1]=index2;//将数据存入数组。
        //index1++;//数组下标自增一,用来指定下一个存储数组的位置。
        a[i]=index2;//将产生的随机数存入数组a中。
        }
        //输出存入不同随机数后的a数组。
        for (int h = 0;h<a.length ;h++ ) {
                System.out.print(a[h]+",");
        }
  }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马