生成并存储一定范围内的唯一和随机数

阿瓦尼

我尝试了以下代码来生成随机数,并将其存储在c#中的HashSet中:

class program
{
  static void Main(String[] args)
  {
    Random r=new Random();
    HashSet <int> h = new HashSet<int>();
    for (int j=0;j<9;++j)
    {
  h.Add(r.Next(9));
    }
    int [] array = h.ToArray();
    foreach(int i in array)
  Console.WriteLine(i);
    Console.ReadLine();
   }
}

每次执行该程序时,显示的元素数量都不同。由于我使用循环来存储9个值,因此我希望显示9个值,但这种情况没有发生。可能是什么错误?

塞尔曼·杨(Selman Young)

HashSet不包含重复项。您的循环运行9时间,但仅将唯一数字添加到。将HashSet您的数字直接添加到数组中,您应该会看到显示9个数字。或者使用更大的范围来生成随机数。顺便说一句HashSet,在for循环之后,您可以验证多少个这样的数字

Console.WriteLine(h.Count);

另外,您可以for像这样更改循环:

for (int j = 0; j < 9; ++j)
{
    if(!h.Add(r.Next(9))) j--;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何生成一定范围内的随机数,但排除一些随机数?

在Go中生成一定范围内的随机数

如何生成一定范围内的随机数向量?

如何在一定的指数增长范围内生成随机数总体

如何生成一定范围内的随机数?

XPages SSJS生成一定范围内的随机数

Javascript:使用crypto.getRandomValues生成一定范围内的随机数

在一定范围内的随机数组

PHP中根据字符串生成一定范围内的固定随机数

如何根据用户输入生成随机数但不重复且在一定范围内?

生成一定范围内的随机数,但在C / C ++中排除一些随机数

生成一定范围内的随机数,其中一定百分比为特定值

从向量中选择一定范围内的随机数

用一定范围内的随机数替换数据框中的NA

如何在命令行中获取一定范围内的随机数?

如何生成特定范围内的唯一随机数

生成范围内的'n'个唯一随机数

生成范围内的'n'个唯一随机数

生成(0-4)范围内的随机数,并且每个数字只能生成一定次数的约束?

如何生成加起来等于一定数字并在JavaScript范围内生成的随机数?

如何在一定范围内创建随机数组

在最小和最大范围内生成5个唯一随机数,并在Groovy中按升序排序

生成包含范围内的唯一随机数数组

如何使用Python生成一堆没有重复但在一定范围内的随机数列表?

最大化范围内唯一随机数的数量

Java:在一定范围内(包括范围内的最小值和最大值)生成随机双精度数

迅捷:在一定范围内随机产生敌人?

一定范围内的随机列表

如何在一定范围内生成密码安全的随机整数?