wkr0103 2014-12-13 14:46 采纳率: 33.3%
浏览 1596

java中的一个随机函数,看不懂帮忙解释下

public void suiji()
{
int m,n,k=0,k1,k2,k3;
for(m=1;m<=15;m++)
{
k1=(int)(Math.random()*25+1);
for(n=1;n<=2;n++)
{
k2=(int)(Math.random()*6+1);
k3=(int)(Math.random()*5+1);
while(d[k2][k3])!=0&&k!30)
{
k2=(int)(Math.random()*6+1);
k3=(int)(Math.random()*5+1);
}
this.d[k2][k3]=k1;
k++;
}
}

  • 写回答

5条回答

  • threenewbee 2014-12-13 16:17
    关注

    Math.random()产生一个0~1的随机浮点数。如果你要产生一个m~n的整数那怎么办呢?很简单,首先对Math.random()的结果乘以(n-m),使得这个随机数的范围在0~n-m之间
    然后取整+m,这样就是m~n之间的整数了。

    评论

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站