本文主要介绍Java中的随机数Random。随机数的引入没有随机数种子,每次随机抽样得到的数据都不一样。设置随机数种子可以保证每次采样的结果相同。下面我们来了解一下具体细节。
一个生成随机数的类。
具体用法:
//创建一个随机数对象
Random Random=new Random();
//在int类型值的范围内随机生成一个数。
int num 1=random . nextint();
system . out . println(num 1);
//生成一个[0-100]之间的随机数
int num 2=random . nextint(101);
system . out . println(num 2);//不包括101
写一个没有重复数字的随机数组。
第一种:
int[]num=new int[5];
布尔标志=真;
Random Random=new Random();
for(int I=0;I编号长度;i ) {
int a=random . nextint(5);
for(int j=I-1;j=0;j-){//当i==0时,不执行此步骤
if (a==num[j]) {
flag=false
}
}
如果(标志){
num[I]=a;
}否则{
I-;
flag=true
}
}
system . out . println(arrays . tostring(num));
第一种方法的改进:
公共静态void main(String[] args) {
int[]num=new int[5];
Random Random=new Random();
int index=0;
while(索引编号长度){
int a=random . nextint(5);
If (contains(num,index,a)) {//它把判断变成方法。
num[index]=a;
}
}
system . out . println(arrays . tostring(num));
}
public static boolean包含(int[] a,int index,int temp) {
for(int I=index-1;I=0;我- ) {
if (temp==a[i]) {
返回false
}
}
返回true
}
第二种:
不建议使用这种方法。尽管使用了Arrays自己的方法,但是除了最后一个元素之外,该方法的所有元素都是有序的。
这种随意性有点不严谨。
公共静态void main(String[] args) {
int[]a=new int[5];
Random Random=new Random();
int index=-1;
while(索引a .长度-1){
int b=random . nextint(5);
if(包含(a,b,index)){
a[索引]=b;
}
}
system . out . println(arrays . tostring(a));
}
public static boolean包含(int[] a,int b,int index){
如果(索引0){
返回true
}
Arrays.sort(a,0,index 1);//下标为[0,index 1]的数组排序不包含索引1
返回Arrays.binarySearch(a,0,index 1,b)0;//二分法找出B是否包含在下标[0,index 1]的范围内
}
这就是这篇关于Java中随机数的文章。有关随机数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。