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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。