黑马程序员技术交流社区
标题: Random 掷骰子 [打印本页]
作者: 一片白 时间: 2014-4-28 11:34
标题: Random 掷骰子
本帖最后由 一片白 于 2014-5-4 16:07 编辑
static void Main(string[] args)
{
//建立泛型集合 键值对,记录每个字符出现的次数
Dictionary<int, int> dictionary = new Dictionary<int, int>();
Random random = new Random();
int[] intArr = new int[100];
for (int i = 0; i < 100; i++)
{
//random = new Random(); 注释掉这儿,:P
int iRandom = random.Next(1, 7);
if (!dictionary.ContainsKey(iRandom))//如果不包含该键,则加入集合中
{
dictionary.Add(iRandom, 1);
}
else
{
dictionary[iRandom]++;
}
}
foreach (KeyValuePair<int, int> kvp in dictionary)
{
Console.Write("“{0} {1}”", kvp.Key, kvp.Value);
}
Console.ReadKey();
}
结果是:
static void Main(string[] args)
{
//建立泛型集合 键值对,记录每个字符出现的次数
Dictionary<int, int> dictionary = new Dictionary<int, int>();
Random random = new Random();
int[] intArr = new int[100];
for (int i = 0; i < 100; i++)
{
random = new Random(); //不注释掉这儿了!:P{:3_65:}
int iRandom = random.Next(1, 7);
if (!dictionary.ContainsKey(iRandom))//如果不包含该键,则加入集合中
{
dictionary.Add(iRandom, 1);
}
else
{
dictionary[iRandom]++;
}
}
foreach (KeyValuePair<int, int> kvp in dictionary)
{
Console.Write("“{0} {1}”", kvp.Key, kvp.Value);
}
Console.ReadKey();
}
结果是:
作者: Invoker 时间: 2014-4-28 14:39
。。。。你这么写没什么意义
作者: 一片白 时间: 2014-4-29 12:22
我主要是想询问下,为什么,将 random = new Random(); 放到for循环里就不起作用了呢?
作者: 鲤鱼 时间: 2014-4-29 13:53
zhidao.baidu.com/link?url=VER445_cUuz3CQr53fZhDYxLAOgTS014-vhwMs_C6Kc2_GOyW417MzLew3f1PHI-6J04rk2ix4-F2tgWHmRE2a随机数有随机数的种子,极小的一段时间内产生的随机数是一样的,一般会以时间的毫秒做种子,c#里一般这样
Random ran = new Random(DateTime.Now.Millisecond);希望能对你有帮助
作者: 一片白 时间: 2014-4-30 15:02
鲤鱼 发表于 2014-4-29 13:53
zhidao.baidu.com/link?url=VER445_cUuz3CQr53fZhDYxLAOgTS014-vhwMs_C6Kc2_GOyW417MzLew3f1PHI-6J04rk2ix ...
thank you !
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |