最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

解读random()生成随机数

互联网 admin 4浏览 0评论

解读random()生成随机数

随机数,我们都很常见,如何生成,也很简单,但是不仅要会生成,还要了解。

其中random()中有一个参数:

  • seed:表示指定随机生成器的种子。

例如:
随机从0-10生成五个随机数

public class random{public static void main(String[]args){Random r1 = new Random();for(int i = 0; i<5; i++){System.out.println(r1.nextInt(10));;}}
}

结果:

提问一:要是同时生成两组随机数,结果会一样吗?答案是no

public class random{public static void main(String[]args){Random r1=new Random(2);for(int i =0 ;i<5;i++){System.out.println(r1.nextInt(10));;}System.out.println("---------");Random r2=new Random();for(int i=0;i<5;i++){System.out.println(r2.nextInt(10));;}}
}

结果:

为什么会不一样?
答案是:默认的情况下,seed是与时间戳有关的,当执行第二个random函数时,时间已经变化。

那么如果设定seed的时候,两种随机数会一样吗?答案是yes

public class random{public static void main(String[]args){Random r1=new Random(5);for(int i =0 ;i<5;i++){System.out.println(r1.nextInt(10));;}System.out.println("---------");Random r2=new Random(5);for(int i=0;i<5;i++){System.out.println(r2.nextInt(10));;}}
}

结果:

解读random()生成随机数

随机数,我们都很常见,如何生成,也很简单,但是不仅要会生成,还要了解。

其中random()中有一个参数:

  • seed:表示指定随机生成器的种子。

例如:
随机从0-10生成五个随机数

public class random{public static void main(String[]args){Random r1 = new Random();for(int i = 0; i<5; i++){System.out.println(r1.nextInt(10));;}}
}

结果:

提问一:要是同时生成两组随机数,结果会一样吗?答案是no

public class random{public static void main(String[]args){Random r1=new Random(2);for(int i =0 ;i<5;i++){System.out.println(r1.nextInt(10));;}System.out.println("---------");Random r2=new Random();for(int i=0;i<5;i++){System.out.println(r2.nextInt(10));;}}
}

结果:

为什么会不一样?
答案是:默认的情况下,seed是与时间戳有关的,当执行第二个random函数时,时间已经变化。

那么如果设定seed的时候,两种随机数会一样吗?答案是yes

public class random{public static void main(String[]args){Random r1=new Random(5);for(int i =0 ;i<5;i++){System.out.println(r1.nextInt(10));;}System.out.println("---------");Random r2=new Random(5);for(int i=0;i<5;i++){System.out.println(r2.nextInt(10));;}}
}

结果:

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论