关于Random.nextInt()

Random.nextInt()随机产生一个数,如果有参数就是在0到参数之间产生。 
如果Random对象指定了种子,Random r = new Random(100),那么第一次nextInt()出来的值是固定的,即种子数值, 
比如下面的代码,运行结果全是一样的。因为每次循环都重新定义一个Random对象

    public static void test()
    {
        Random r = new Random(100);
        System.out.println(r.nextInt(22));
    }
    public static void main(String[] args)
    {
        for(int i=0;i<10;i++)
        {
            test();     
        }
    }

但是下面的代码就是随机的了

public static void main(String[] args)
    {
        Random r = new Random(100);
        for(int i=0;i<10;i++)
        {
            System.out.println(r.nextInt(3));
        }       
    }注:这样的数是随机的,也就是位数不固定,不能用于固定位数随机数。
 
 
 
 
(int)((Math.random()*9+1)*100000)
这样可以固定位数,可以用于生成固定密码或验证码。

猜你喜欢

转载自blog.csdn.net/xp_lx1/article/details/80597046
今日推荐