初学递归。。。。

jarodzhao 2008-12-27 10:47:27
我想使用递归,调用随机函数生成一个指定的数字,观察这个随机函数的生成的过程
但是得到的结果是:
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 需要循环这么多次吗?还是写的代码有问题?


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;
}
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jarodzhao 2008-12-27
  • 打赏
  • 举报
回复
非常感谢 min_jie
止戈而立 2008-12-27
  • 打赏
  • 举报
回复
不要在方法里头new Random
改成:
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;
}

jarodzhao 2008-12-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]
参考
http://www.cnblogs.com/hangxin1940/archive/2008/04/17/1158664.html

[/Quote]

太过专业,没看懂
up一下...
cacique88 2008-12-27
  • 打赏
  • 举报
回复
谁能帮我找到能看的第3张幻灯片
cacique88 2008-12-27
  • 打赏
  • 举报
回复
下载的综合布线课件中第3张幻灯片是坏的,无法打开,对下载资源要检查后再上传否则会让大家很失望。
jarodzhao 2008-12-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaozhijun0207 的回复:]
你这段代码怎么看,都不像是递归嘢.
[/Quote]

见笑了,以前一直没有用过递归
最近刚刚接触到,不太会用。。。发贴的目的就是学习掌握递归
jarodzhao 2008-12-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hulihui 的回复:]
要有个计数器而不是i1判断。或者
string[] s = textBox1.Text.Split(',');
if(s.Length != 4)  // 有4个,号
{
i1 = gg(i);
}
[/Quote]

我是想知道生成 5 实际循环的次数(及每次生成的数字)
判断 s.Length 只是限定了生成的个数,大多数时候并不能得到 5


麻烦能不能完成的写一下代码,马上结贴!!
zhaozhijun0207 2008-12-27
  • 打赏
  • 举报
回复
你这段代码怎么看,都不像是递归嘢.
长沙三毛 2008-12-27
  • 打赏
  • 举报
回复
要有个计数器而不是i1判断。或者
string[] s = textBox1.Text.Split(',');
if(s.Length != 4) // 有4个,号
{
i1 = gg(i);
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧