java产生n个不同随机数,java生成任意随机数(任意指定范围)

  java产生n个不同随机数,java生成任意随机数(任意指定范围)

  实现方法:

  首先,定义一个长度为n的数组,然后使用while循环生成随机数来给数组赋值。在赋值之前,需要遍历数组中的现有值。如果值相等,您将重新生成随机数而不分配它们,并循环直到所有定义的数组都被分配。

  例子如下:

  /**

  *函数:在min-max中生成N个不重复的随机数

  *

  * min:随机数生成的实际位置。

  * mab:生成随机数的最大位置

  * n:要生成多少个随机数?

  *

  */

  public static int[]random number(int min,int max,int n){

  //判断是否达到了要输出的随机数个数。

  if(n(最大-最小1) 最大最小){

  返回null

  }

  int[]result=new int[n];//用于存储结果的数组

  int count=0;

  while(count n){

  int num=(int)(math . random()*(max-min))min;

  布尔标志=真;

  for(int j=0;jcountj ){

  if(num==result[j]){

  flag=false

  打破;

  }

  }

  如果(标志){

  结果[计数]=数字;

  数数;

  }

  }

  返回结果;

  }java学习视频推荐:java开发入门

  由于集合的特性,元素不能重复。

  /**

  *函数:在范围内随机指定n个不重复的数字。

  *

  * @param min指定最小范围值。

  * @param max指定范围的最大值

  * @param n个随机数

  */

  public static int[]random set(int min,int max,int n) {

  set integer set=new HashSetInteger();

  int[]array=new int[n];

  for(;真实;) {

  //调用Math.random()方法

  int num=(int)(math . random()*(max-min))min;

  //在HashSet中存储不同的数字

  set . add(num);

  //如果存储的数小于指定的数,则调用递归生成随机数的剩余数,以此类推,直到达到指定的大小。

  if (set.size()=n) {

  打破;

  }

  }

  int I=0;

  for (int a : set) {

  array[I]=a;

  我;

  }

  返回数组;

  }先把生成的随机数放入集合,再判断集合的大小。如果没有超过要求的长度,继续循环。如果是,跳出循环,把集合变成数组。

  更多java相关文章推荐:java语言入门以上是java中如何在指定区间内生成N个不同随机数的细节。更多请关注其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: