首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

初学递归。该如何处理

2012-02-24 
初学递归。。。。我想使用递归,调用随机函数生成一个指定的数字,观察这个随机函数的生成的过程但是得到的结果

初学递归。。。。
我想使用递归,调用随机函数生成一个指定的数字,观察这个随机函数的生成的过程
但是得到的结果是:
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,
9,9,9,9,9,9,9,9,9,9,9,9,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,5,

难道生成一个 5 需要循环这么多次吗?还是写的代码有问题?

C# code
        private void Form1_Load(object sender, EventArgs e)        {            gg(10);        }        int gg(int i)        {            int i1 = new Random().Next(i);            textBox1.Text += i1.ToString() + ",";            if (i1 != 5)            { i1 = gg(i); }            return i1;        }


[解决办法]
不要在方法里头new Random
改成:
C# code
Random rnd=new Random();        int gg(int i)        {            int i1 = rnd.Next(i);            textBox1.Text += i1.ToString() + ",";            if (i1 != 5)            { i1 = gg(i); }//这就是递归,没错的。            return i1;        } 

热点排行