注册 登录
编程论坛 C# 论坛

新手求解,该怎么写代码

日落星辰 发布于 2015-04-04 14:33, 813 次点击
[local]1[/local]
6 回复
#2
日落星辰2015-04-04 14:35
for (int i = 0; i < 4; i++)
            {
                int randomIndex = new Random().Next(1001, 1050);
                Console.WriteLine(randomIndex);
            }

怎么实现不重复
#3
lxsxd2015-04-05 09:47
因为机器运行速度过快,随机种子相同,所以产生相同的随机数。最简单的可以用延时方法,产生不同的随机数。
#4
Maick2015-04-06 09:50
提供实现方式.通过泛型 list<int> 实现,
    每生产一个随机数,就移除,不用担心重复问题
        list<int> arr = new list<int>();
        for(int i=1001;i<=1050;i++)
        {
            arr.add(i);
        }
        for (int i = 0; i < 4; i++)
            {
                int randomIndex = new Random().Next(0, 50);
              
                Console.WriteLine( arr[randomIndex]);
               
                  arr.removeat(randomIndex);
            }
      
             以上是纯手写,大概方法不确定对,仅供参考
#5
Maick2015-04-06 09:56
错了 int randomIndex = new Random().Next(0, 50);
这个应该改成 int randomIndex = new Random().Next(0, arr.len);
#6
wangnannan2015-04-07 08:59
加时间戳
#7
hellation2015-04-11 19:16
高手
1