java实现生成随机不重复整数,随机生成不重复的数

  java实现生成随机不重复整数,随机生成不重复的数

  方法一:调用java.lang下Math类中的random()方法生成随机数。

  创建一个新文件,文件后缀为java,文件名为MyRandom。下面的代码是在这个类中编写的:

  公共类MyRandom {

  公共静态void main(String[] args) {

  int radom=(int)(math . random()* 10);

  system . out . println(radom);

  }

  }其中Math.random()将生成一个介于0和1之间的随机十进制数。

  生成一个介于0和9之间的整数,如下所示:(int)(Math.random()*10)

  要生成1到10之间的整数,可以写为:(int)(Math.random()*10 1)

  以此类推:如果你产生一个0到n之间的数,你应该写:math.random () * n。

  取出一个指定长度的随机正整数:

  public static int build random(int length){

  int num=1;

  双随机=math . random();

  if(随机0.1) {

  随机=随机0.1;

  }

  for(int I=0;I长度;i ) {

  num=num * 10

  }

  return(int)((random * num));

  }方法二:调用java.util下的Random类,这个类的实例用来生成伪随机数流并生成随机整数,然后调用这个类的nextInt()方法。在使用random类之前,用下面的代码导入包下的java.util.Random:

  导入Java . util . random;

  公共类MyRandom {

  公共静态void main(String[] args) {

  Random rand=new Random();

  int rInt=rand . nextint(10);

  system . out . println(rInt);

  }

  }其中Random rand=new Random()是创建一个新的随机数生成器;Rand.nextInt(Int n)是一个int值,取自此随机数生成器的序列,并均匀分布在0(包括0)和指定值n(不包括0)之间。

  在Java中,在指定的整数范围类中,循环生成不同的随机数。

  以生成6位和20位以内不相同的随机整数为例:

  公共类MyRandom {

  公共静态void main(String[] args) {

  int n=20

  Random rand=new Random();

  boolean[]bool=new boolean[n];

  int randInt=0;

  for(int I=0;i6;i ) {

  做{

  randInt=rand . nextint(n);

  } while(bool[randInt]);

  bool[randInt]=true;

  system . out . println(randInt);

  }

  }

  }其中使用一个布尔变量数组来存储数字是否生成。生成后,数字变为true,作为下面布尔数组表中对应的布尔值,下一次生成数字时,将进入do.while循环来生成数字,直到它尚未生成。

  推荐教程:java开发入门以上是如何用java生成不重复随机数的细节。请多关注我们的其他相关文章!

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

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