黑马程序员技术交流社区

标题: 创建一个数组,数组内的元素由随机数生成,且元素不重复 [打印本页]

作者: yeluoxingye    时间: 2017-2-27 20:56
标题: 创建一个数组,数组内的元素由随机数生成,且元素不重复
这个题首先创建一个数组,比如长度为10的数组,创建Random对象
然后用循环嵌套来实现

Random r = new Random();                    //创建Random对象
  int[] arr1 = new int[10];                           //创建长度为10的数组
  arr1[0] = r.nextInt(100) + 1;                    //用随机数给arr[0]赋值,范围在1-100之间
  for (int i = 1; i < arr1.length; i++) {         //for循环遍历1-9索引上的元素
   while (true) {                                         //无限循环
    int count = 0;                                       //定义一个计数器,赋值为0
    int num = r.nextInt(100) + 1;               //定义一个变量num,用随机数赋值
    for (int j = 0; j < i; j++) {                       //遍历i索引之前的所有元素
     if (num == arr1[j]) {                              //如果num等于了i索引之前的某一个元素
      count++;                                             //计算器自增一次
     }
    }                                                                  //如果count不等于0,重复while循环
    if (count == 0) {                                       //如果经过内部for循环之后,计数器还是0,说明num跟数组中已经存在的元素都不相等
     arr1[i] = num;                                       //就用num给arr[i]赋值
     break;                                                     //跳出while循环,继续外部for循环的下一次循环
    }
   }
  }

作者: 易大帅    时间: 2017-2-27 21:24
过来看看





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2