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)
这样可以固定位数,可以用于生成固定密码或验证码。
本文详细解析了Java中使用Random类生成随机数的方法,并对比了不同实现方式的效果。特别是针对指定种子的情况,探讨了如何正确生成一系列随机数,以及如何生成固定位数的随机数以适用于密码或验证码等场景。
8万+

被折叠的 条评论
为什么被折叠?



