首先:java的Math类提供了一个
random()静态方法,返回带正号的
double
值,该值大于等于
0.0
且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
以下为范例:
//代码如下:
public class Test24 {
/*
* 随机从 1~10 取十个整数,存入数组
*/
public static void main(String[] args) {
int [] arr = new int[10] //构建一个空的一维数组
for(int i=0i<arr.lengthi++){
int temp = (int)(Math.random()*10)+1//随机产生一个 1~10 的整数
arr[i] = temp//将产生的数添加到数组
System.out.print(arr[i]+" ")
}
}
}
这还不简单啊!如下代码:int[] ar = new int[20]//初始化数组 长度为20
for (int i = 0i <ar.lengthi++) {//循环给数组中的每个元素赋初值
ar[i] = (int) (Math.random() * 100)//产生随机数并赋值给数组
}
for (int i = 0i <leni++) {//循环打印出来
System.out.println(ar[i])
}
java中随机数主要有两种方法生成:1.Math.random()
2.java.util.Random类的方法。
方法1调用方便,但功能简单,并且不能初始化种子值,随机性不够好。生成的随机数是0.0到1.0间的浮点数,往往需要进行值域变换。
方法2调用复杂,功能强大,可初始化种子子,随机性好。可直接生成较大随机整数。
如生成[-10,10]的随机整数
方法1:(int)(Math.floor(Math.random()*21))
方法2:Random rnd=new Random(System.currentTimeMillis())
rnd.nextInt(21)-10即为结果
使用new创建好数组后,依次将随机值赋值与数组元素即可