【发布时间】:2014-08-22 14:16:34
【问题描述】:
我想生成随机唯一数字。这些是代码:
public int NewNumber(int r) {
int[] numbers = new int[r];
int a = Random.Range (0, r);
if(numbers.Contains(a)) {
a = Random.Range (0, r);
}
return a;
}
当 NewNumber(5) 工作十次时,我得到如下结果:5,4,3,4,1,2,4,2,5,3
但我想要的是:5,3,4,2,1
哪里错了?
【问题讨论】:
-
“当 NewNumber(5) 工作十次时”是什么意思?
-
你说当它运行 10 次时,你会得到 10 个结果。那么,运行它 5 次可能吗?请详细说明您的问题。
-
为什么要使用 Random 来获取特定的数字序列?
-
请注意,您在每次调用中都创建了一个新数组...所以它不会知道之前返回的内容...
-
他试图生成 5 个数字,其中对随机发生器的每个后续调用都会返回一个以前没有返回的数字。他想要一组随机分布的 5 个数字,例如15324 42153等