首页 > 编程知识 正文

java如何生成随机数组,Java随机数生成

时间:2023-05-03 07:50:45 阅读:258319 作者:2815

java如何生成随机,java生成随机数的两种方式。

java生成随机数有两种方法:

1、使用Math方法,Math.random()随机生成一个double类型[0,1),如果想生成1~100的随机数: 如:int num = (int)(Math.random()*100); 2、使用Random方法生成随机数 public static void testRandom() { Random random = new Random(); random.setSeed(10000L); for(int i = 0 ; i < 10 ; i ++) { System.out.println(random.nextInt(1000)); } System.out.println("------------------"); random = new Random(); random.setSeed(10000L); for(int i = 0 ; i < 10 ; i ++) { System.out.println(random.nextInt(1000)); } }

结果如下:

208572116475500574641166727670------------------208572116475500574641166727670 3、使用SecureRandom生成随机数,代码如下: public static void testSecureRandom() { SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG"); secureRandom.setSeed(10000L); for(int i = 0 ; i < 10 ; i ++) { System.out.println(secureRandom.nextInt(1000)); } System.out.println("-------------------"); secureRandom = new SecureRandom(); secureRandom.setSeed(10000L); for(int i = 0; i < 10 ; i ++) { System.out.println(secureRandom.nextInt(1000)); } }

结果如下:

85162436762625156930530346260-------------------395653534532751943422753814 4、如何选择使用随机数?

首先我们知道java.util.Random的实例不是加密安全的,SecureRandom来获取加密安全的伪随机数生成器,以供对安全敏感的应用程序使用。以上二三可以很明显的发现,我要是知道setSeed值(即时间戳),很明显能把随机数给猜出来。所以不建议使用Random。

5、一些公司随机数选择的案例

可能某些小公司是让使用Random的,使用Random也可以获取到随机数,但是为了程序的安全性,还是使用SecureRandom比较好。
现在有好多公司,明文禁止使用java.util.Random。

6、建议

想要学习技术、想要了解更多,还是建议去大公司,如果你有实力,觉得自己可以,本人可以帮你内推现在流行的互联网公司(百度、滴滴、小米、头条、美团、阿里、腾讯等)!
想要去小公司也可以帮你内推哈!如有需要请联系作者

如何觉得能帮助你,麻烦给作者一份信任,让作者能写下去的理由,不需要你给的太多,只需1块钱即可。


如果作者写的有误或者想和作者分享更多,请添加作者微信,邀你进群需收10块钱群费。收钱的目的在于我们来着是学知识的,不是来着观望的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。