Java Random.setseed()设置随机数种子

java中Random是伪随机,有时候随机数会相同,如果想让生成的随机数更加无法预测,可以用Random.setseed()设置随机数种子,使随机数更加随机。

定义

void setSeed(long seed)    //使用单个long种子设置此随机数生成器的种子。

这个设置只能一次有效,后续如果还要生成随机数则不会影响。

例子

public class RandomSetseedDemo {  
    public static void main(String[] args) throws Exception  
    {  
	Random r = new Random();
	r.setSeed(555L);
        for (int j = 0; j < 5; j++) {
            System.out.print(" " + r.nextInt(100) + ", ");
        }
    }  
}

Random如果使用相同的seed值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

当然,如果在Random构造方法中传入LONG值和setSeed()一样效果。