【发布时间】:2015-05-19 19:22:02
【问题描述】:
我正在尝试生成随机数组来测试我的家庭作业。 问题是生成的数字总是唯一的,我不时需要一些重复的数字。
这是我想出的代码:
static int[] RandomIntArray()
{
Random rnd = new Random();
Console.Write("Enter array Length: ");
int n = int.Parse(Console.ReadLine());
int[] arr = new int[n];
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(short.MinValue, short.MaxValue);
}
return arr;
}
【问题讨论】:
-
您的意思是要重复相同的数字吗?或者您希望创建相同的随机数模式?
-
random 是随机的,你期待什么?如果要重复数字,请缩小范围。如果有数千个选项,则必须生成数千个才能预期重复。
-
随机是随机的。如果您希望它偶尔重复一次,可以设置更小的范围,或者构建您自己的逻辑(例如
if (i % 100 == 0) arr[i] = arr[i-1];或任何适合您需要的内容。 -
他们会在某个时候重复/重复!
-
@Dleh 我发誓我没有抄袭你的答案——你只比我快 4 秒 :)