怎样求随机数(在固定的几个数中选取)

bzw2002 2003-10-16 11:06:14
如果我想在2 4 5 9 19这5个数中随机取一个,不能取到别的数,该怎么办呢
...全文
262 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlampskyface 2004-01-09
  • 打赏
  • 举报
回复
楼上的,假如Math.random()=[0,1)
那么(int)(Math.random()*s.length=0
the_number_you_want =s[0]=2

Math.random()=1那么(int)(Math.random()*s.length=5
the_number_you_want =s[5]=19

请问,这叫随机吗?

Danger2000 2004-01-09
  • 打赏
  • 举报
回复
这样也可以:
int[] s={2,4,5,9,19};
int the_number_you_want =s[(int)(Math.random()*s.length)]
qlampskyface 2004-01-09
  • 打赏
  • 举报
回复
把随便几个数变为从0到*的一个数,helpall的方法好,好好好好!
qlampskyface 2004-01-09
  • 打赏
  • 举报
回复
如果产生一个新的int为200,200×5=1000,你说a[1000]存在吗?
guowuqindage 2004-01-09
  • 打赏
  • 举报
回复
int[] a={1,2,3,4,5};
random r=new random();
int b=a[r.nextInt(sa.length];

这样OK了吗?

qlampskyface 2004-01-09
  • 打赏
  • 举报
回复
如s[5]则outOfBound
collision 2003-10-17
  • 打赏
  • 举报
回复
就是楼上的作法!
helpall 2003-10-16
  • 打赏
  • 举报
回复
int[] s={2,4,5,9,19};
java.util.Random rand = new java.util.Random(System.currentTimeMillis());
int the_number_you_want = s[Math.abs(rand.nextInt()) % s.length];

62,614

社区成员

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

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