如果想获得一个随机数的数组,这个随机数的范围是指定的,长度可以指定,也可以在某个范围之内随机,那么就可以参考以下方法。
1、长度固定的随机数组:
public class randomGenerator {
public static int[] randomGen(int size,int vlaue)
{
int[] arr=new int[size];
for(int i=0;i<arr.length;i++)
{
arr[i]=(int)((vlaue+1)*Math.random());
}
return arr;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Arrays.toString(randomGen(3,10)));
}
}
简单说明一下,产生[0,value]之间的整数的对应代码是:
(int)(value+1)*Math.random();
value*Math.random()产生的是[0,size),也就是左闭右开的,因此不能写成这样,必须得写成上面这样。
而如果想生成[-value,value]之间的随机数,那么对应的代码为:
(int)(value+1)*Math.random()-(int)(value)*Math.random()
2、长度在某个范围之内随机的随机数组
public class randomGenerator {
public static int[] randomGen(int size,int vlaue)
{
int[] arr=new int[(int)((size+1)*Math.random())];
for(int i=0;i<arr.length;i++)
{
arr[i]=(int)((vlaue+1)*Math.random());
}
return arr;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Arrays.toString(randomGen(5,10)));
}
}
也就是创建数组时,数组的长度也设置成了随机数。