| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 498 人关注过本帖
标题:关于获取随机数的问题!
只看楼主 加入收藏
qq229943249
Rank: 2
等 级:论坛游民
帖 子:19
专家分:21
注 册:2012-11-6
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:3 
关于获取随机数的问题!
程序代码:
static void main(string[] args)
{
  Random s=new Random();
    do
    {
      Console.Write("请输入一个正整数(1-10):");
      int j=int.Preas(Console.ReadLine());
      if(j==s.Next()%10+1)
        {
          Console.WriteLine("猜对了!");
          break;
        }
      else
        {
          Console.WriteLine("猜错了!");
        }
    }
    while(j!=s.Next()%10+1);
}
上面代码运行后,感觉s.Next()%10+1这个数在不停变化,从1输到10,都是猜错了!请大侠指点一二!
如果在Random s=new Random()后面加入i=s.Next()%10+1,并且将i替换掉代码中的s.Next()%10+1,这时输入1-10中必有一数猜中!
这是不是说明s.Next()%10+1在循环时是不停在改变的?
搜索更多相关主题的帖子: Random 
2012-11-08 13:13
lybh24
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:120
专家分:701
注 册:2012-9-8
收藏
得分:10 
有几个小问题:
1. int j=int.Preas(Console.ReadLine());  =》Parse
2.while(j!=s.Next()%10+1);  =》j定义在do while循环外面,放在do里面是找不到的
3.1-10随机数的生成不需要s.Next()%10+1这么麻烦,s.Next()有三个重载方法; =》s.Next(1,11);

最后你的问题=》只要执行一次s.Next()方法,就会产生一个新的随机数,所以每遍历一次就是一个新的随机数

新群:273209143
2012-11-08 15:12
smart0721
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:106
专家分:468
注 册:2012-2-10
收藏
得分:10 
2楼讲解的很好很透彻,学习学习!看来楼主还需常来这请教!
2012-11-08 16:02
qq229943249
Rank: 2
等 级:论坛游民
帖 子:19
专家分:21
注 册:2012-11-6
收藏
得分:0 
感谢2楼!完全理解了!
2012-11-16 23:18
快速回复:关于获取随机数的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020976 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved