整容说文库 > 程序代码 > 教育资讯

关于线程控制随机数的一个问题``请大侠帮个忙

来源:学生作业帮助网 编辑:整容说文库 时间:2020/07/16 08:46:21 程序代码
关于线程控制随机数的一个问题``请大侠帮个忙程序代码
//生成随机数
    private void suiJi1()
    {
    while(true)
    {
    
    this.lbl1.Text=objrandom.Next(1,4).ToString();
                  Thread.Sleep(50);
    }
    
    
    }

    private void suiJi2()
    {
              
    while(true)
      {
                      this.lbl2.Text = objrandom.Next(1, 4).ToString();
                      if (int.Parse(this.lbl2.Text) == int.Parse(this.lbl1.Text))
                      {
                          suiJi2()
                      }
                            
      Thread.Sleep(40);
                   
      }

    }

这是我中间生成的随机数``都是1-4的,我现在要实现 比如当suiji1的随机数是1的时候,那suiji2就不能等于1了,随机数之间不能相等,我用 if (int.Parse(this.lbl2.Text) == int.Parse(this.lbl1.Text))
                      {
                          suiJi2()
                      }
这句话判断他还是要相等,怎么回事,应该怎么做啊??
ding~~~~~~~~~
不清楚你是需要怎么判断的,照上面这么写应该是可以的
不知道你是否考虑了 Thread.Sleep(50); 和Thread.Sleep(40); 是否有问题

由于不知道你需要判断的具体要求,给出如下建议:
如果是产生1-4的随机数,可以考虑这样处理
if((int.Parse(this.lbl2.Text) == int.Parse(this.lbl1.Text)) 
{
    this.lbl2.Text = (5-int.Parse(this.lbl1.Text)).ToString();

我判断的要求就是说,当suiji1和suiji2的随机数如果相等的话,那suiji2就重新在执行啊,执行suiji2()
就是说2个数不能相等
- -那么问题就在于,两个随机数不相等的时候你做了什么
或者说,你并不知道他们什么时候是相等的,什么时候是不相等的
只是在不断随机出两个范围在[1,4]的数字而已
不相等的时候我当然在旁边加了个按钮来控制它停!!现在就是说在停的时候有可能这2个数是相等的
程序代码