欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > Java随机数心得体会

Java随机数心得体会

时间:2015-01-26 18:17

java随机数的问题

呵呵,你知道那个 Random(47)是啥意思吗

这个是种子。

相同的种子会产生相同顺序的随机数,你的47这个种子,每次产生的第一个随机数,永远是 2,不会是别的。

所以,java的是伪随机数哦。

不过这也有一个好处,你连续生成10个随机数,在运行一次,还是那10个数哦,顺序是完全相同的。

所以一般我们会使用 Ramdon() 不带参数,这样就会使用Random(++seedUniquifier + System.nanoTime());也就是系统的纳秒作为种子,这个重复的可能性就及其小了。

总结:相同的种子,产生相同的随机数序列。

希望你明白了。

浅谈Java中的几种随机数

1、Math.random()生成0-1之间的double类型的数。

2、Random r = new Random();r.nextInt(n);生成0-n之间的整数3、如何生成随机的大小字母:(char)('a'+Math.random()*('z'-'a'+1));(char)('A'+Math.random()*('Z'-'A'+1)); 4、生成随机颜色 int colorNum1 = (int)Math.ceil(Math.random()*256-1); int colorNum2 = (int)Math.ceil(Math.random()*256-1); int colorNum3 = (int)Math.ceil(Math.random()*256-1); Color color= new Color( colorNum1 ,colorNum2,colorNum3); 或者:rgb(colorNum1,colorNum2,colorNum3);5、自定义颜色 new Color(0x669900);相当于页面中的#669900

java高手帮我详细讲讲关于随机数的问题.

因为Random类产生的并不是真正的随机数,而是伪随机数。

Random rand=new Random(47); \\\/\\\/这句语句根据传入的参数产生一个伪随机数生成器,它由好几个伪随机数序列组成。

每个序列对应一种数据类型,每种数据类型只对应一个序列。

这个参数叫做随机数种子。

传入的参数相同,产生的序列永远相同。

rand.nextInt(int n)方法从当前整型伪随机数序列取出下一个在[0,n)之间的伪随机数。

要想让这伪随机数更“随机”,可以把传入的参数也设为随机数。

如果还有不懂,可以参看JDK文档的Random类。

回答问题的补充: 能知道,例如你要获得它的整型伪随机序列,可以这样做: \\\/\\\/获得序列的前100个值,序列是无限长的,并且里面有重复数值 int n=100; int j=0; while(j

java 中产生两个随机数并比较大小程序的怎么写,用命令行输入输出

package test;public class TestRandom {public static void main(String[] args) {for(int i=1;i<=10;i++){int m=(int) ((Math.random()*10)+70);System.out.println(m);}}}

JAVA随机生成100以内的随机数

希望是老师给你布置的作业public static void main(String[] args) { int sum = 0; int count = 0; while(sum < 1000){ int num = (int)(Math.random() * 100); System.out.print(num + ); sum += num; count++; if(count % 10 == 0){ System.out.println(); } } } ---------------------楼 不是要生成1000个数 要生成的数的于1000

java生成7个不同的随机数

int random = (int)(Math.random()*(37-i)); 这一句好像有问题 i == 0的时候, 假如Math.random()是0.995 , 很接近1的时候,(int)(Math.random()*37)就是37, 下一句no[i]=num[random]; \\\/\\\/这里会造成数组越界可以这样改 (前面没有问题) \\\/\\\/ 生成7个不同的随机数 for(int i=0;i<7;i++){ int random = (int)(Math.random()*(36-i)); \\\/\\\/改成36 no[i]=num[random]; num[random]=num[num.length-1-i]; System.out.print(no[i]+\\\); }你的算法目的是不是 随机生成7个不同的数,这些数 大于等于1 , 小于等于36?

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片