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)
这样可以固定位数,可以用于生成固定密码或验证码。