一、 Math类的random()方法

Math类的random()方法可以生成大于等于0.0、小于1.0的double型随机数。

//产生一个[0,1)之间的随机数
Math.random();

Math.random()方法语句基础上处理可获得多种类型、或任意范围的随机数

产生指定范围的随机数(m*~*n之间):【两种形式均可】

Math.random()*(n-m)+m;

Math.random()*(n+1-m)+m

此外,可以借助啊ASCII码生成随机字符!

1.随机生成a~z之间的字符

(char)('a'+Math.random()*('z'-'a'+1));

2.随机生成cha1~cha2的字符

(char)(cha1+Math.random()*(cha2-cha1+1));

实例:产生7个1-30之间的随机数

public class Randomtest{
	public static void main(String[] args) {
		int i,j;
		System.out.println("输出7个随机整数:"); 
		int a[]=new int[7]; 
		for(i=0;i<a.length;i++)
	    a[i]=(int)(Math.random()*30+1);	//产生1~30之间的随机数
		
		for(i=0;i<a.length;i++)			//把所取得7个随机整数输出
			System.out.print(a[i]+" ");
			System.out.println();
	}
}

二、Random类生成随机数

Java.util.Random类,可以通过实例化一个Random对象创建一个随机数生成器。

Random r=new Random();

还可以根据数据范围的要求,指定随机生成器的种子生成一定范围内的随机数

Random r=new Random(seed);

种子seed可以简单理解为是随机数的上限,也就是说产生的随机数为0-seed的整数,不包括seed!例如,使用种子seed的Random对象生成[0,seed)内随机数。

Random类中各种类型随机数的方法

nextInt():返回一个随机整数(int)
nextInt(int n):返回大于等于0、小于n的随机整数(int)
nextLong():返回一个随机长整型值(long)
nextBoolean():返回一个随机布尔型值(boolean)
nextFloat():返回一个随机浮点型值(float)
nextDouble():返回一个随机双精度型值(double)
nextGaussian():概率密度为高斯分布的双精度值(double)

更多推荐

【Java】生成随机数的两种方法