黑马程序员技术交流社区
标题:
大家速度帮我解决下问题啊。
[打印本页]
作者:
王杨武
时间:
2012-10-4 23:00
标题:
大家速度帮我解决下问题啊。
本帖最后由 王杨武 于 2012-10-5 12:48 编辑
Random r = new Random();
for (int i = 0; i <= num; )
{
int j = r.Next(1,300);
if (Map[j]==0)
{
Map[j] = 1; i++;
}
else
{
continue;
}
}
复制代码
作者:
雷向阳
时间:
2012-10-5 12:02
谁说标题要长吖,长了看不到...
作者:
邓艳秋
时间:
2012-10-5 14:28
你在画什么地图,把思路说一下,是个什么情况?
这种情况for没有第三个条件表达式的话,你可以换while试一下。
不然很麻烦。
作者:
秦敖
时间:
2012-10-5 15:17
本帖最后由 秦敖 于 2012-10-5 15:18 编辑
猜想楼主是要实现随机抽取Map数组中的num+1个0把它替换成1,实现一种随机效果。
Random r = new Random();//随机种子
for (int i = 0; i <= num; )
{
int j = r.Next(1,300);//随机数,j为Map数组下标的话,范围应该从0到Map.Length-1吧,不知道楼主什么情况。
if (Map[j]==0)
{
Map[j] = 1; i++; //如果随机访问到的Map数组中的数是0的话,就将其替换成1,计数变量i+1,如果i>num将退出循环。i从0开始所以抽取num+1个
}
else
{
continue; //如果抽取的数不是0,则进入下一次循环,感觉这个else是多余的,可以去掉。
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2