1、Math.random()方法——伪随机数
Math
类中存在一个random()
方法,用于产生随机数,这个方法默认生成大于等于0.0且小于1.0的double
型随机数。
通过m + (int)( Math.random()*n )
生成大于等于m且小于m+n的随机数。
通过(char)( 'a' + Math.random()*( 'z' - 'a' +1 ) )
生成a~z之间的字符。
通过(char)(char1 + Math.random()*( char2 - char1 +1 ) )
生成任意两个字符之间的随机字符。
2、Random类
通过java.util.Random
类,实例化一个Random对象创建一个随机数生成器。
Random rand = new Random() ;
-
Random rand = new Random( seedValue) ;
可以通过上面两种方式创建Random对象,其中seedValue
为随机生成器的种子。
在Random类中提供了获取各种数据类型随机数方法:
-
public int nextInt()
返回一个随机整数。 -
public int nextInt(int n)
返回大于等于0且小于n的随机整数。 -
public long nextLong()
返回一个随机长整型值。 -
public boolean nextBoolean()
返回一个随机布尔型值。 -
public float nextFloat()
返回一个随机浮点型值。 -
public double nextDouble()
返回一个随机双精度型值。 -
public double nextGaussian()
返回一个概率密度为高斯分布的双精度值。
import java.util.Random;
public class Test9_0 {
public static void main(String[] args) {
// 返回1-10的随机整数
System.out.println(1+(int)(Math.random()*(11-1)));
// 实例化一个Random对象创建一个随机数生成器
Random ran = new Random();
System.out.println("产生一个随机整数:"+ran.nextInt());
System.out.println("产生一个大于等于0且小于10的随机整数:"+ran.nextInt(10));
System.out.println("随机产生一个长整型值:"+ran.nextLong());
System.out.println("随机产生一个双精度型值:"+ran.nextDouble());
System.out.println("随机产生一个浮点型值:"+ran.nextFloat());
System.out.println("随机产生一个布尔类型值:"+ran.nextBoolean());
System.out.println("随机产生一个概率密度为高斯分布的双精度型值:"+ran.nextGaussian());
}
}
网友评论