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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

这个题首先创建一个数组,比如长度为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循环的下一次循环
    }
   }
  }
您需要登录后才可以回帖 登录 | 加入黑马