Java随机数

 

Java随机数

 

随机数生成通常用到java.util.Random类和Math类中的random()方法。

1JavaRandom类生成随机数

1Random类中常用方法:

1Random类有两个构造方法:public Random()public Random(long seed)

Random()方法将当前系统时间设置为种子,Random(long seed)是为随机数生成器设定指定的种子。   Random r1 = new Random(seed) ;等同于Random r2 = new Random(); r2.setSeed(seed);

2nextInt(); 此方法返回随机数生成序列中(随机分布的)的下一个int值。

3nextInt(int i); 为随机数生成指定范围,参数i即为随机数生成器生成随机数的范围(0i,包括0但不包括i其中i必须为正数)。

4nextDouble();  返回0.01.0之间(包括0.0不包括1.0)的随机数。

 

 

2Random类生成随机数如果设置的种子相同,那么生成的随机数序列相同。可以用如下方法验证:

public static void main(String[] arg0){
		Random random1 = new Random(10);
		Random random2 = new Random(20);
		Random random3 = new Random();
		Random random4 = new Random();
		Random random5 = new Random();
		Random random6 = new Random();
		for (int i = 0;i<10;i++){
			System.out.print(random1.nextInt(10)+",");
		}
		System.out.println();
		for(int j=0;j<10;j++){
			System.out.print(random2.nextInt(15)+",");
		}
		System.out.println();
		for(int k=0;k<10;k++){
			System.out.print(random3.nextInt(10)+",");
		}
		System.out.println();
		random4.setSeed(20);
		for(int j=0;j<10;j++){
			System.out.print(random4.nextInt(15)+",");
		}
		System.out.println();
		for(int k=0;k<10;k++){
			System.out.print(random5.nextInt(10)+",");
		}
		System.out.println();
		for(int k=0;k<10;k++){
			System.out.print(random6.nextDouble()+",");
		}
		System.out.println();
		for(int k=0;k<10;k++){
			System.out.print(random2.nextDouble()+",");
		}
		System.out.println();
		for(int k=0;k<10;k++){
			System.out.print(random4.nextDouble()+",");
		}
	}

 2Math类中的random()(静态)方法生成随机数。

调用Math.random(); 相当于 new java.util.Random(); 其返回值为double类型,相当于调用Random类中的netDouble()方法。

使用该方法生成随机数较为方便。

猜你喜欢

转载自xq8866.iteye.com/blog/2309589