Random rand =new Random(47);

zhuzhu_qiu 2008-09-19 01:59:23
Random rand =new Random(47);
int i,j,k;
j=rand.nextInt(100)+1;
随机数是不是在47到100之间产生???
如果不是,那赋初值47是什么意思???
...全文
6262 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianxizhilong 2012-10-31
  • 打赏
  • 举报
回复
数字47在我加盟的一家学院里被认为是“魔幻数字”,至今仍是这样——作者对于频繁使用47的解释。
dsb_csdn 2012-04-26
  • 打赏
  • 举报
回复
看thinking in java的时候遇到的,貌似种子数为47的时候,rand.nextInt(100)的结果都是58.和书上的一样,这也叫产生随机数??
a58949796 2012-04-25
  • 打赏
  • 举报
回复
看来看去,还是模模糊糊的。。。
CHZiroy 2012-04-09
  • 打赏
  • 举报
回复
回来再看楼上的,
CHZiroy 2012-04-09
  • 打赏
  • 举报
回复
回来再看楼上的,
xuhuanzhimeng 2010-11-28
  • 打赏
  • 举报
回复
Random rand = new Random();
int num1 = rand.Next(1, 4);//1到4随机数
Console.WriteLine(num1);
枫叶RF 2010-01-21
  • 打赏
  • 举报
回复
21楼的同学,你搞错了吧,7楼是对的
l = rand1.nextInt(100);
j = rand1.nextInt(100);
k = rand1.nextInt(100);
这里搞错了,你
yanjingshe11 2009-10-17
  • 打赏
  • 举报
回复
17楼的前辈
为什么我照着你的代码执行的时候会出现不一样的?
第1次8
第2次21
第3次5
第4次6
第5次21
第6次39
第7次33
第8次2
第9次36
第10次39
lyyit 2009-05-25
  • 打赏
  • 举报
回复
import java.util.*;


public class code {

public static void main(String[] args)
{
Random rand=new Random();
int[] a=new int[10];
for(int i=0;i<10;i++){
a[i]=(int) (rand.nextInt(100));//数组内容为99以内的随机数

}

Arrays.sort(a);
for(int i=0;i<10;i++){
System.out.println("第"+(i+1)+"个数为:"+a[i]+" "+"序号为:"+(i+1));

}

}

}
sll347 2008-11-23
  • 打赏
  • 举报
回复
种子是用于决定随机性的,有种子随机性会大点。而产生的数,与种子无关,与nextIntXXX()中的范围有关!
sll347 2008-11-23
  • 打赏
  • 举报
回复
不好意思,上面写错了,
是28楼的朋友!
“想要获取一个范围内的随机数,首先需要一个种子(其实就是一个数值)” 这句话有误!
如果要获得一个范围内的随机数,并不一定需要一个种子!
Random rand=new Random();
System.out.println(rand.nextInt(10));
这样也能获得一定范围内的随机数!
sll347 2008-11-23
  • 打赏
  • 举报
回复
21楼的朋友
“想要获取一个范围内的随机数,首先需要一个种子(其实就是一个数值)” 这句话有误!
如果要获得一个范围内的随机数,并不一定需要一个种子!
Random rand=new Random();
System.out.println(rand.nextInt(10));
这样也能获得一定范围内的随机数!
fzujared 2008-11-09
  • 打赏
  • 举报
回复
21楼的朋友,是你错了哦,你看看你的代码,在循环体内,随机数对象都调用同一个,这样的结果当然不一样
l = rand1.nextInt(100);
j = rand1.nextInt(100);
k = rand1.nextInt(100);
System.out.println("第 "+i+"次:"+l+" "+j+" "+k);
yangkaixin1226 2008-09-25
  • 打赏
  • 举报
回复
47只是一个种子。产生一个1到100之间的数
四十三号 2008-09-24
  • 打赏
  • 举报
回复
47是个质数,比47大的质数用起来可能是会比较慢或者运算过多吧
比47小产生的随机数不那么随机吧
也许47是一个很合适的选择,所以……

我这么想的
KAKUKYOWU 2008-09-24
  • 打赏
  • 举报
回复
想要获取一个范围内的随机数(例如3,随机数可能是0或1或2),首先需要一个种子(其实就是一个数值)。
每个种子会对应这个范围内(0或1或2)的唯一的一个随机数。
2008这个种子在3这个范围内,所对应的随机数为1,所以结果都为1.
(注意:2008在3这个范围内对应的是1,这个是死的,固定的,无论你执行多少次,它还是1)

总之:相同的种子,相同的范围,会得到相同顺序的随机数据。
sweetBug 2008-09-24
  • 打赏
  • 举报
回复
47, 魔力数字``
gs840120 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 alloyer 的回复:]
引用 12 楼 zhuzhu_qiu 的回复:
如果想获得47到100之间的随机数怎么弄



Random rand = new Random();
int m = rand.nextInt(53) + 47;



[/Quote]

应该是
Random rand = new Random();
int m = rand.nextInt(54) + 47;


gs840120 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wangMail_3366 的回复:]
9楼的随机数区间是(0,99)
[/Quote]
顶~~~
jielulian 2008-09-23
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 alloyer 的回复:]
引用 12 楼 zhuzhu_qiu 的回复:

如果想获得47到100之间的随机数怎么弄



Random rand = new Random();
int m = rand.nextInt(53) + 47;



[/Quote]
应该是Random random = new Random();
int i=0;
i=random.nextInt(54)+47;
System.out.println(i);吧?
加载更多回复(21)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧