黑马程序员技术交流社区

标题: 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
一片白 发表于 2014-4-29 12:22
我主要是想询问下,为什么,将 random = new Random();  放到for循环里就不起作用了呢? ...

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